{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%matplotlib inline\n",
      "from copy import copy\n",
      "import numpy as np\n",
      "import matplotlib.pyplot as plt\n",
      "from scipy.stats.mstats import mquantiles\n",
      "\n",
      "from sklearn.datasets import load_digits\n",
      "from sklearn.ensemble import ExtraTreesClassifier\n",
      "from sklearn.ensemble import RandomForestClassifier\n",
      "from sklearn.cross_validation import StratifiedShuffleSplit"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "digits = load_digits()\n",
      "X, y = digits.data, digits.target"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Make the problem harder by reducing the number of samples:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "cv = StratifiedShuffleSplit(y, train_size=50, test_size=None)\n",
      "train, test = iter(cv).next()\n",
      "X_orig, X_test = X[train], X[test]\n",
      "y_orig, y_test = y[train], y[test]\n",
      "\n",
      "n_samples, n_features_orig = X_orig.shape "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "print(n_samples)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "50\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "print(n_features_orig)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "64\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Note: some features are de-facto non-informative as they have 0 variance (pixels near the corners):"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "np.sum(np.var(X_orig, axis=0) == 0)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 6,
       "text": [
        "12"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Add noisy variables to make it hard to identify the relevant variables"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "n_features_noise_1 = 50\n",
      "n_features_noise_2 = 1000\n",
      "rng = np.random.RandomState(42)\n",
      "\n",
      "X_noise_1 = np.hstack([X_orig, rng.normal(size=(n_samples, n_features_noise_1))])\n",
      "X_noise_2 = np.hstack([X_orig, rng.normal(size=(n_samples, n_features_noise_2))])"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 7
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "n_trees = 100\n",
      "extra_trees = ExtraTreesClassifier(n_estimators=n_trees, n_jobs=-1, random_state=0)\n",
      "random_forest = RandomForestClassifier(n_estimators=n_trees, n_jobs=-1, random_state=0)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 70
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Even with so few samples, then ensemble of trees models are able to predict reasonably well on the noise-free data:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "extra_trees.fit(X_orig, y_orig).score(X_test, y_test)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 71,
       "text": [
        "0.85174585002862047"
       ]
      }
     ],
     "prompt_number": 71
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "random_forest.fit(X_orig, y_orig).score(X_test, y_test)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 10,
       "text": [
        "0.84487693188322843"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Let's have a look at the look at the feature importances of such tree models:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def compute_importances(ensemble, normalize=False):\n",
      "    trees_importances = [base_model.tree_.compute_feature_importances(normalize=normalize)\n",
      "                         for base_model in ensemble.estimators_]\n",
      "    return sum(trees_importances) / len(trees_importances)\n",
      "\n",
      "\n",
      "def plot_feature_importances(importances, normalize=False, color=None, alpha=0.5, label=None, chunk=None):\n",
      "    if hasattr(importances, 'estimators_'):\n",
      "        importances = compute_importances(importances, normalize=normalize)\n",
      "    if chunk is not None:\n",
      "        importances = importances[chunk]\n",
      "    plt.bar(range(len(importances)), importances, color=color, alpha=alpha, label=label)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 11
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plot_feature_importances(extra_trees.fit(X_orig, y_orig), label='extra')\n",
      "_ = plt.legend()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\neFAZGRnKy8tT5Cp7STL2s9vx48fV19enQ4cO6dVXX9W//uu/xrzO+M9On332mU6cOKE//uM/1okT\nJzR//vwrlosy9rPf6Oio/uEf/kGPP/74Fa9NZPwTLsBarVYFAoHocSAQkM1mm8EeYSaYzWaFQiFJ\n0uDgoDIyMma4R5guly5d0vr167V58+boPaEZ/9Rz++2365FHHtF7773H+KeAd955Rx0dHVq8eLE2\nbdqkt99+W5s3b2bsU8gdd9whSVq0aJEee+wx9fb2Mv4pwGazyWazaeXKlZKkDRs26MSJE7JYLIx9\nCjl06JDuv/9+LVq0SNLkP/clXIDNz8+Xz+eT3+/X6Oio2tvb5XK5ZrpbuMFcLpdaWlokSS0tLdFg\ng9klEomovLxcubm52rZtW/Q8458azp07F91p8OLFizp8+LDy8vIY/xTw4osvKhAI6OzZs3rjjTf0\njW98Q6+//jpjnyL+93//V//zP/8jSbpw4YL++Z//WUuXLmX8U4DFYlFmZqbOnDkjSerq6tK9996r\ntWvXMvYppK2tLbp8WJr8576EvA/soUOHtG3bNoXDYZWXl0dvrYDZadOmTTp69KjOnTsns9msF154\nQY8++qg2btyo//7v/5bdbtf+/fuVnp4+013FFDt27Ji+/vWva9myZdHlIrt27dIDDzzA+KeAf//3\nf1dZWZnGxsY0NjamzZs36/vf/76Gh4cZ/xRy9OhRvfzyy+ro6GDsU8TZs2f12GOPSfp8Sekf/dEf\n6dlnn2X8U8S//du/qaKiQqOjo7r77rvV3NyscDjM2KeICxcu6Pd+7/d09uzZ6NfGJvtvPyEDLAAA\nAAAAX5ZwS4gBAAAAABgPARYAAAAAkBQIsAAAAACApECABQAAAAAkBQIsAAAAACApEGABAAAAAEmB\nAAsAAAAASAr/D74ureYgfwA9AAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b1a0ed0>"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The pixels at the center of the image are more informative to predict the label (digit) of the image. Pixels in the corner have either zero variance hence close to zero variable importance or close to zero VI.\n",
      "\n",
      "Let's compute the trees variable importances for the same dataset with additional noisy variables:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plot_feature_importances(extra_trees.fit(X_noise_1, y_orig), label='extra')\n",
      "_ = plt.legend()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAA7MAAADICAYAAAA6E7bwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X9M3PXhx/HXVdicbRWqcqd3GGqPCtT+wKFEownaUQpb\nb9XWjhpbbKkSDGNdG9O6TENdtOBitBaXUK0IulGaZRbi6GU2ivHHKLrSOdsuBVfMcQWMIibVTur1\nvn/49dYr8OHXUe5z93wkn4TPh/fnc+/38c7xeX3e7/t8LH6/3y8AAAAAAExk2lRXAAAAAACAsSLM\nAgAAAABMhzALAAAAADAdwiwAAAAAwHQIswAAAAAA0yHMAgAAAABMZ8Qw63a7lZKSouTkZFVUVAxZ\nprS0VMnJyVq4cKHa2tokSf/973+VmZmpRYsWKS0tTQ8//HCgfF9fn7KzszV37lwtWbJE/f39IWoO\nAAAAACAaGIZZn8+nkpISud1uHT16VHV1dTp27FhQmaamJnV0dKi9vV27du1ScXGxJOniiy/Wm2++\nqcOHD+vDDz/Um2++qXfffVeSVF5eruzsbB0/flyLFy9WeXn5JDUPAAAAABCJDMNsa2urnE6nkpKS\nFBsbq/z8fDU0NASVaWxsVEFBgSQpMzNT/f396u3tlSRdcsklkqSBgQH5fD7Fx8cP2qegoED79u0L\nbasAAAAAABHNMMx6vV4lJiYG1h0Oh7xe74hlurq6JH03srto0SJZrVbdfvvtSktLkyT19vbKarVK\nkqxWayD8AgAAAAAwGjFGv7RYLKM6iN/vH3K/iy66SIcPH9aXX36pnJwcNTc3Kysra1DZ4V7H6XTq\n448/HlUdAAAAAADmMWfOHHV0dIx7f8Mwa7fb5fF4Ausej0cOh8OwTFdXl+x2e1CZyy67TD/96U/1\nj3/8Q1lZWbJarerp6ZHNZlN3d7cSEhKGfP2PP/54UFAGxqusrExlZWVTXQ1EEPoUQo0+hVCjTyHU\n6FMIpdEOng7HcJpxRkaG2tvb1dnZqYGBAdXX18vlcgWVcblcqq2tlSS1tLQoLi5OVqtVn332WeAu\nxadPn9brr7+uRYsWBfapqamRJNXU1Gj58uUTagQAAAAAILoYjszGxMSosrJSOTk58vl8KiwsVGpq\nqqqqqiRJRUVFysvLU1NTk5xOp6ZPn67q6mpJUnd3twoKCnT27FmdPXtWa9as0eLFiyVJW7du1apV\nq7R7924lJSVp7969k9xMAAAAAEAksfjDeB6vxWJhmjFCZqjvbAMTQZ9CqNGnEGr0KYQafQqhNNG8\nR5gFAAAAAFxwE817htOMAQAAAADDmzVrlr744ouprkZYi4+PV19fX8iPy8gsAAAAAIwTmWVkw71H\nE33vDO9mDAAAAABAOCLMAgAAAABMhzALAAAAADAdwiwAAAAAwHQIswAAAAAA0+HRPAAAAAAQQlu3\nVqin5/SkHd9m+5HKy7dM2vHvu+8+JSYm6ne/+92kvUYoEGYBAAAAIIR6ek4rKals0o7f2Tl5xx6N\nb7/9VjExUx8lmWYMAAAAABHq5MmTWrFihRISEnTttddq586d6uvrU2Jiol577TVJ0qlTp+R0OvXy\nyy/r+eef15/+9Cc9+eSTmjlzpn7+859LkpKSkvTkk09qwYIFmjlzpnw+n8rLy+V0OnXppZdq3rx5\n2rdv3wVt29THaQAAAABAyJ09e1bLli3TnXfeqfr6enk8Hv3kJz/RddddpxdffFFr167Vhx9+qN/8\n5je64YYbtGbNGknSe++9p8TERD322GNBx9uzZ4/279+vK664QhdddJGcTqfeeecd2Ww27d27V/fe\ne686Ojpks9kuSPsYmQUAAACACPT+++/rs88+029/+1vFxMRo9uzZ2rBhg/bs2aPs7GzdfffduuOO\nO+R2u1VVVRW0r9/vD1q3WCwqLS2V3W7XD3/4Q0nSypUrA8F11apVSk5OVmtr64VpnAizAAAAABCR\nPvnkE508eVLx8fGBZfv27fr0008lSffff7+OHDmi++67T/Hx8SMeLzExMWi9trZW6enpgWN/9NFH\n+vzzzyelLUNhmjEAAAAARKBrrrlGs2fP1vHjxwf9zufz6YEHHtDatWv13HPP6b777tOcOXMkfTcK\nO5Rzt3/yySd64IEH9MYbb+jmm2+WxWJRenr6oBHdycTILAAAAABEoJtuukkzZ87Uk08+qdOnT8vn\n8+mjjz7S+++/ryeeeEIXXXSRqqur9dBDD2nt2rU6e/asJMlqteo///mP4bG/+uorWSwWXXHFFTp7\n9qyqq6v10UcfXYhmBTAyCwAAAAAhZLP9aFIfn2Oz/WhU5aZNm6bXXntNmzdv1rXXXqtvvvlGKSkp\nWr58uZ555hm9//77slgs2rJli/7617+qoqJCDz/8sAoLC3X33XcrPj5et99+u/7yl78MOnZaWpo2\n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\ngg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b199850>"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The noisy variables have non-zero variable importances: this is caused by the impurity decrease caused by random splits in a finite sample training set.\n",
      "\n",
      "The absolute values of the importances of the relevant variables is impacted (decreased) by the addition. This impact is more signicantly observed when the number of noisy variable is significantly larger than the number of relevant variables."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plot_feature_importances(extra_trees.fit(X_noise_2, y_orig))\n",
      "_ = plt.title(\"Variable importance on a data set with a majority of noisy variables\")"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nlLM0ROSKlStXonfv3sjKylJ82QEX2MbGxqK+vt78ub6+3ipaJ5LS3t6Om266CXPmzDG/Hzk6Ohp6\nvR4AcOjQIQwbNgxA17TW0NCA2NhY3280BaT//ve/KC4uxnnnnYfZs2fj008/xZw5c5ieyG1qtRpq\ntRpTpkwBANx8883YsWMHYmJimKbILV9//TUuueQSREVFITQ0FDfeeCO+/PJLpinymCvPOrVajdjY\nWHPTUtP3TFtka926dSgpKcFbb71l/k7JNBVwge3kyZNRU1ODuro6tLW1obCwEBkZGf7eLAoCQggs\nWLAAY8eOxf3332/+PiMjA2+++SYA4M033zQHvBkZGXjnnXfQ1taG/fv3o6amxtyOn+jpp59GfX09\n9u/fj3feeQdXXXUVNmzYwPREbouJiUFcXBz27t0LACgrK8O4ceNwww03ME2RWxITE1FeXg6DwQAh\nBMrKyjB27FimKfKYq8+6mJgYDBw4EBUVFRBCYMOGDeZ5iIDOt94899xzKCoqQp8+fczfK5qmlB0D\nSxklJSVizJgxYvTo0eLpp5/29+ZQkNi2bZtQqVQiOTlZTJw4UUycOFF8/PHH4ujRo+Lqq68WCQkJ\nYvr06eL48ePmeVauXClGjx4tLrjgAlFaWurHradAptPpzKMiMz2RJ3bt2iUmT54sLrzwQjFr1izR\n3NzMNEUeycvLE2PHjhXjx48Xc+fOFW1tbUxT5JLMzEwxfPhwERYWJtRqtXjjjTfcSkNff/21GD9+\nvBg9erS49957/bErFCBs09Trr78uNBqNGDlypDmPvmjRIvP0SqUplRAOOo8RERERERERBYGAa4pM\nRERERERE5AoGtkRERERERBTUGNgSERERERFRUGNgS0REREREREGNgS0REREREREFNQa2RERERERE\nFNQY2BIREREREVFQ+/8nkb579PwXnAAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b192bd0>"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The fact that noisy variables have a non-zero variable importance on average makes it difficult to use those scores directly for feature selection."
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Adjusting the variable importances vs chance"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Let's compute new variable importance scores that are adjusted so that noisy variables have zero score on average.\n",
      "\n",
      "To do so we expand the dataset by horizontally stacking a column-wise shuffled copy of the original feature values, then fitting an ensemble of randomized trees on the expanded data, then computing the difference of the VI for each feature and its shuffled copy. The operation is iterated with different random shufflings of the data.\n",
      "\n",
      "AVI of noisy variables should therefore be null on average (on many iteration of this shuffling process)."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def shuffle_columns(X, copy=True, seed=0):\n",
      "    rng = np.random.RandomState(seed)\n",
      "    if copy:\n",
      "        X = X.copy()\n",
      "    for i in range(X.shape[1]):\n",
      "        rng.shuffle(X[:, i])\n",
      "    return X"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 15
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def model_importances(ensemble, normalize=False):\n",
      "    return np.array([\n",
      "        base_model.tree_.compute_feature_importances(normalize=normalize)\n",
      "        for base_model in ensemble.estimators_])\n",
      "\n",
      "\n",
      "def compute_adjusted_importances(ensemble, X, y, n_permutations=5, return_diff=True,\n",
      "                                 aggregate_method='average', normalize=False):\n",
      "    all_importances = []\n",
      "    n_features = X.shape[1]\n",
      "    for i in range(n_permutations):\n",
      "        ensemble.fit(np.hstack([X, shuffle_columns(X, seed=i)]), y)\n",
      "        all_importances.append(model_importances(ensemble, normalize=normalize))\n",
      "    if aggregate_method == 'average':\n",
      "        # Average importances of trees accross permutations:\n",
      "        # the shape is (n_trees, 2 * n_features)\n",
      "        all_importances = np.mean(all_importances, axis=0)\n",
      "    elif aggregate_method == 'stack':\n",
      "        # Stack importances of trees for various permutations:\n",
      "        # the shape is (n_permutations * n_trees, 2 * n_features)\n",
      "        all_importances = np.vstack(all_importances)\n",
      "\n",
      "    if return_diff:\n",
      "        return all_importances[:, :n_features] - all_importances[:, n_features:]\n",
      "    else:\n",
      "        return all_importances[:, :n_features], all_importances[:, n_features:]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 16
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def bootstrap_adjusted_importances(ensemble, X, y, normalize=False,\n",
      "                                   n_permutations=10, n_bootstraps=1000,\n",
      "                                   aggregate_method='average', seed=0):\n",
      "    rng = np.random.RandomState(seed)\n",
      "    \n",
      "    avi_trees = compute_adjusted_importances(\n",
      "        ensemble, X, y, n_permutations=n_permutations, normalize=normalize,\n",
      "        aggregate_method=aggregate_method)\n",
      "\n",
      "    n_trees = len(ensemble.estimators_)\n",
      "    bootstraped_means = []\n",
      "    for i in range(n_bootstraps):\n",
      "        idx = rng.random_integers(low=0, high=n_trees - 1, size=n_trees)\n",
      "        bootstraped_means.append(avi_trees[idx].mean(axis=0))\n",
      "    bootstraped_means = np.array(bootstraped_means)\n",
      "    bootstraped_means.sort(axis=0)\n",
      "    return np.mean(bootstraped_means, axis=0), np.std(bootstraped_means, axis=0), bootstraped_means"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 17
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "avi_mean, avi_std, bootstraped_avi = bootstrap_adjusted_importances(\n",
      "    extra_trees, X_noise_2, y_orig, n_permutations=10, aggregate_method='average', seed=0)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 80
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plt.bar(range(len(avi_mean)), avi_mean, color=None, alpha=0.5)\n",
      "_ = plt.title('Mean Adjusted Variable Importances for all features')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAA74AAADSCAYAAABtoBy9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xt8FNXdP/DPkouEcAkESEw2YSEXE4QG5OqFsl4AwRJR\nlAYeISpqikWax14I/ryEp6JJrX2sohb6ILcKRuuDoRryYND1HlK5WDW0BCGSbFjkFiQhkGQ9vz/S\nGWY3s7uzO5tssvm8Xy9fsrvnzDlz5syZ+c6cmRiEEAJEREREREREQapXoCtARERERERE1JEY+BIR\nEREREVFQY+BLREREREREQY2BLxEREREREQU1Br5EREREREQU1Bj4EhERERERUVBj4EtE1MP16tUL\nhw8fBgAsWbIETz75ZIBrBJhMJuzatatTypo1axY2b96sKa27elksFiQkJPizaqTRPffcg0GDBmHy\n5MkdXtbdd9+Nxx57DIDnbf7JJ58gJSUF/fr1w/bt2zu8bkRE5BoDXyIiHUwmEy677DKcOnXK4fux\nY8eiV69eOHr0aEDqdeTIEfTq1QsPPvigV/lefvllPProo7rK9kcAaDAYYDAY2n1fUFCAqVOntvv+\n5MmTCA8PR2VlpddllZSUYOHChbrqpZcymAq0/Px8ze3RFXz00UcoKytDXV0dysvLO7w8b/rA448/\njmXLluHcuXPIzMzUVa7JZMJ7772naxlERD0ZA18iIh0MBgNGjBiBrVu3yt99+eWXaGpq6pAASatN\nmzZh1KhRKCoqQnNzc8Dq4W8LFy7Ep59+iurqaofvX3vtNWRkZGDkyJGalyWEgBDCzzX0TUcF1N5q\nbW0NdBW89u2338JkMqF3795e5/V1fbX2m6NHj3rVJ90xGAy6+qvdbvdLPYiIuisGvkREOt11113Y\ntGmT/Hnjxo1YtGiRw0nqxYsX8atf/QrDhg1DbGwslixZggsXLgAA6uvr8ZOf/ARDhw7FoEGDMHv2\nbFitVjmv2WzG448/juuuuw79+/fHjBkz2t1hVhJCYPPmzcjPz0d0dDT+9re/Ofz+zDPPIC4uDkaj\nEa+88orDb8o7jxs2bMCUKVMcfldOiy4pKcGVV16J/v37w2g04g9/+APOnz+PmTNnoq6uDv369UP/\n/v1hs9kghEBBQQGSk5MxePBg/PSnP8WZM2fk5W7evBnDhg3D4MGD8dRTT7lct/j4eNxwww3tpiZv\n2rQJixYt0tSWjz76KK699lr07dsXhw8fhtlsxrp16wAA33zzDW644QYMHjwYQ4YMwV133YWzZ886\nlFVRUYErr7wSgwYNwr333ouLFy+q1rWurg5z587F0KFDMWLECLzwwgsu1wu4FExVV1ejV69e2LBh\nAxITExEdHY0//elP+Pvf/44f/ehHGDhwIB566CE534YNG3DttdfioYceQlRUFNLT0x3uDNbV1SEz\nMxPR0dFISUnB//zP/8i/5efn44477sDChQsxYMAArFmzBk8//TSKiorQr18/jB07FgCwfv16jBw5\nEv3790dSUhLWrl0rL8NiscjbPyYmBnFxcdiwYYP8e1NTE375y1/CZDIhKioKU6ZMkft+eXk5rrnm\nGgwcOBBjxozBBx984LBeSUlJ6N+/P0aMGIEtW7a0a7N169bh/vvvx2effYZ+/fph5cqVAIA///nP\nSElJQXR0NG699VYcO3ZMztOrVy+89NJLSElJwRVXXKG6Le68805cfvnliIqKwtSpU32aSZCUlITD\nhw9j9uzZ6N+/P1paWnD27FksXrxY3v8ee+wx/PDDDwDc972FCxfi6NGjmD17Nvr164ff//73qjMr\nlHeFnbftxo0b3ZZ/6NAhTJ06FVFRURgyZAiysrK8Xmcioi5NEBGRz0wmkygrKxNXXHGFOHDggGht\nbRVGo1F8++23wmAwiG+//VYIIURubq649dZbxZkzZ8S5c+fE7NmzxYoVK4QQQpw6dUr87//+r2hq\nahLnzp0Td955p5gzZ45cxtSpU0VycrKoqqoSTU1Nwmw2i7y8PJd1+vDDD0Xfvn1FU1OTeOSRR8Ts\n2bPl33bs2CFiYmLE119/LRobG8X8+fOFwWAQ33zzjRBCiLvvvls89thjQggh1q9fL6677jqHZSvT\nxsbGio8//lgIIUR9fb3Yu3evEEIIi8UijEajQ77nnntOXH311cJqtYrm5maRk5Mj5s+fL4QQ4uuv\nvxZ9+/YVH330kbh48aJ4+OGHRWhoqNi1a5fq+r366qsiJSVF/vzPf/5ThIeHi5MnT2pqy2HDhonK\nykpht9tFS0uLMJvNYt26dUIIIQ4dOiTKyspEc3OzOHHihPjxj38scnNz5fzDhg0To0ePFrW1teL0\n6dPi2muvFY8++qgQQoj3339fXm+73S6uuuoq8dvf/la0tLSIw4cPixEjRoj/+7//U12nu+++W17O\n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\nb6AYDIZOmepssVhgNps7vBwKPG5r8jf2KfI39inyJ/Yn8jf2KfI3f8Z8DHw94LMKREREREREnc+f\nMZ+uZ3yJiIiIiIiIujoGvkRERERERBTUGPgSERERERFRUGPgS0REREREREGNgS8REREREREFNQa+\nREREREREFNQY+BIREREREVFQY+BLREREREREQY2BLxEREREREQU1Br5EREREREQU1Bj4EhERERER\nUVDTHfiWlpYiLS0NKSkpKCwsVE2zbNkypKSkICMjA/v27dOU94UXXkB6ejpGjRqF5cuX660mERER\nERER9VChejLb7XYsXboUZWVliI+Px4QJE5CZmYn09HQ5TUlJCQ4dOoSqqirs3r0bS5YsQXl5udu8\n77//PrZv345//OMfCAsLw4kTJ3SvKBEREREREfVMuu74VlRUIDk5GSaTCWFhYcjKykJxcbFDmu3b\ntyM7OxsAMGnSJNTX18Nms7nN+/LLL2PFihUICwsDAAwZMkRPNYmIiIiIiKgH0xX4Wq1WJCQkyJ+N\nRiOsVqumNHV1dS7zVlVV4cMPP8TkyZNhNpvx+eef66kmERERERER9WC6pjobDAZN6YQQXi23tbUV\nZ86cQXl5Of7+979j3rx5OHz4cLt0+fn58r/NZjPMZrNX5RAREREREVHXYLFYYLFYOmTZugLf+Ph4\n1NTUyJ9rampgNBrdpqmtrYXRaERLS4vLvEajEbfffjsAYMKECejVqxdOnTqF6Ohoh2UrA18iIiIi\nIiLqvpxvZq5cudJvy9Y11Xn8+PGoqqpCdXU1mpubUVRUhMzMTIc0mZmZ2LRpEwCgvLwcUVFRiImJ\ncZt3zpw5eO+99wAABw8eRHNzc7ugl4iIiIiIiEgLXXd8Q0NDsXr1asyYMQN2ux2LFy9Geno61qxZ\nAwDIycnBrFmzUFJSguTkZERGRmL9+vVu8wLAvffei3vvvRejR49GeHi4HDgTERERERERecsgvH0A\nt4swGAxePzvsLWmOOadUExERERERdS5/xny6pjoHu456sJqIiIiIiIg6DwNfIiIiIiIiCmoMfImI\niIiIiCioMfAlIiIiIiKioMbAl4iIiIiIiIIaA18iIiIiIiIKagx8iYiIiIiIKKgx8CUiIiIiIqKg\nxsCXiIiIiIiIghoDXyIiIiIiIgpqDHyJiIiIiIgoqDHwJSIiIiIioqCmO/AtLS1FWloaUlJSUFhY\n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\n78TEJFgs5Q7fq63ziBFDcPz4aYc297Z8oMVhG7lqc1frf/z4t4iJGeaQXsv6aFl/T9vWl3WW1tV5\nO6t977ydtW5zd/3MVfmu+pm36++8Pb3tfx3R5q76gto440s/17POQIvqsrX829129nebR0a2ICZm\nmMO6uupD/iofgJxO2s+1lulNP5fWzd33yvX3NIZp2Rf91c9dHSvdjX/e9jktx0dXZWodz/Wsv9a+\n6G5/dh5bnbetzXaxXRtq3eeldGrjtrv9TG27eTvOeNvmvvZzd8cwPWX6et4WG3uZT23uz37mrj+7\nOp54e67ibfmu+rneNvd0rujq3/66uEi+c56ttnLlSugIVx3omuocHx+Pmpoa+XNNTQ2MRqPbNLW1\ntTAajarfx8fHA2i7yytNuTh27BiGDh2qWv6XX/4dX365B19++XdUVn6MzMybkZiYhC1bXkRl5fso\nL9+G8vJt2LXrbeTm5iI8fAgmTpyK8vJt2LJlLXJzc+X/tmx5Uff3U6aMwpYta+Xypd927fqrXBfl\n9+HhQ5CWloEtW9bi6NGjMJsnY8uWtaistCItLQOpqXEIDx+CxsZWHD16WE5TULBcTjNx4lT5ZUtp\naRkoL9+GtLQM2GxN8vfNzQPk31566QmUl29DamqcvA7S8k6eFAgPj0Nqalu9KisPwmw2Y8uWFx3q\n9cADC+R/Z2beLG+PQYNCsGXLWoSHD8HZsyFIS8uQ6yKt55YtLyItLQPh4ZfKl9bz5EmBysqD8rKl\ndmls7IXw8Dh5nSorD8p1dF5nKd+pU604eVKgsbEVJ09ekL+Xyjl9utlhGyrXOTV1CLZsWYv6+nq5\nLgUFy+X0Ut9qW4+2dpdedhUe3rYup041YMuWF2E2T8aYMSnyOkvlS+sjbefTp+3y94mJiWhs7CXX\nRWojKf28eVPlMpXlnz0bIvcDqY5btqzF6dN2uZzU1CH/Puk7LC9bWtfw8CEO7Z+aGof6+nps2fIi\nUlPj5O/DwwfI6xIeLuTtOnHiVHmbSPVSroOy3zr3BWX5yr4g7SPSss3myRg0KMRhf1Jbf2m/kNYn\nPDwOubm5DuumLF/q/87rL23z8PBL+5C0bGU7p6VlICSkr7zdlKR1kNrfef+Ttq20/evr65Gbm4v6\n+no5vdSuaWkZ8v68ZctaJCSMkusltYXzOivLV1s35f53+nSznFfah5RjiNk8GSEhg+Qyw8MHoLGx\n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\ngg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b1b3a90>"
       ]
      }
     ],
     "prompt_number": 81
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "avi_mean[:n_features_orig].mean(), avi_mean[:n_features_orig].std()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 82,
       "text": [
        "(0.0014289204654493045, 0.0016611488031069005)"
       ]
      }
     ],
     "prompt_number": 82
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "avi_mean[n_features_orig:].mean(), avi_mean[n_features_orig:].std()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 83,
       "text": [
        "(-5.2594874852622571e-06, 0.00028116471646904255)"
       ]
      }
     ],
     "prompt_number": 83
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Let's zoom on the AVI values for the noisy variables:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plt.bar(range(len(avi_mean) - 64), avi_mean[64:], color=None, alpha=0.5)\n",
      "_ = plt.title('Mean Adjusted Variable Importances for noisy features')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nd29cf/31mDBhQoc7Oc6fPf1ET2NjI95//30sXrwYKSkpjv+GDRuGW2+9FevXr8ett96KxYsX4+ab\nb8aAAQNwyy23eLxbNmDAADz55JMYO3YsrrrqKtx4440uy7766qu48sor0aNHD6xatcoxLTsnJwfT\np09H//790bNnT1itVjz88MMoKCjAuHHj0L17d1x33XWoqakBAOTl5eGll17CjBkzkJ6ejp49e8qa\n0jpr1ix8/fXXLnfXlJalu6eeegp79uxBjx49MGnSJEyZMqVD2f/85z/HuHHjkJmZiezsbJffbbYv\n26lTJ7zzzjvYt28f+vfvjz59+uDBBx90uUjgnib3/fjivMyoUaNgsVjQp08fPPHEE3jzzTeRnJwM\nANi0aRPq6uqQnp6OO++8E7/5zW9w8803S+4XgGO6fa9evTBixAh069YNL774IqZOnYqePXti06ZN\nuP322z2mxd3vfvc7DBo0CNdeey169eqFxx57DBcvXoTRaER5eTmeffZZpKSkoF+/fnj++echhMDF\nixfx+9//HhkZGejVqxd27tyJP/3pT7LK7pZbbsFvf/tbTJkyBenp6Thy5Ag2b97sd9m6e/zxxzFi\nxAhcc801uOaaazBixAjJOnDu3Dk89thj6NOnDy6//HI0Nzdj2bJljuXGjBmDmJgYDB8+3Gt9d8/f\n8OHD8fLLL2PhwoXo2bMnsrOzHY8P5OXl4de//jWuu+46pKWl4YsvvsANN9zgUjYDBw5EWloaUlJS\nAAC//OUvER8fj9TUVNx333249957vdZFb/v3lWciIj0zCH8uTzuprKzE4sWLYbPZ8MADD0hOkVm0\naBG2bduGLl26YO3atY6fc/C07n/913/hnXfeQXx8PDIzM7FmzRr06NEDdXV1yM3NRU5ODgDguuuu\nw4oVK9Qkn4iIcGkqsnuQR/q2du1arF69Gjt37gx1UkihsWPHYsaMGbj//vtDnRQioqin6g6xzWbD\nwoULUVlZidraWmzatAkHDhxwWaaiogKHDh2CxWLBqlWrMH/+fJ/rjhs3zjFdb8CAAS5XGbOysrB3\n717s3buXwTARkQYuXLiAf//737jyyitDnRSiiPfpp59iz549jmdviYgotFQFxDU1NcjKyoLJZEJc\nXBymTZuG8vJyl2W2bNmCwsJCAJemdrW2tsJqtXpdNz8/3/Fyj1GjRqGhoUFNMomIyIu0tDQkJydj\nypQpoU4KKeBpCj3pV2FhIfLz8/HCCy+4vAGciIhCJ1bNyo2NjS7PvxiNRuzatcvnMo2NjWhqavK5\nLgC88sormD59uuPzkSNHMHToUPTo0QNPP/20yzMyRESknP1noCi8FBYWOi44U3iwv/WdiIj0Q1VA\nLPfKtL+PKT/zzDOIj4/HjBkzAFz6yYP6+nokJydjz549mDx5Mvbv349u3bq5rJeVlYWvvvrKr30S\nERERERGRvmVmZkr+vJ9SqgLijIwMl9+QrK+vd/mNQ6llGhoaYDQacf78ea/rrl27FhUVFXjvvfcc\n38XHxyM+Ph4AMGzYMGRmZsJisbi83RUAvvrqK7+DcCK9KC4udvm5G6JwxbpMkYJ1mSIB6zFFCq0e\nG1L1DPGIESNgsVhQV1eH9vZ2lJWVoaCgwGWZgoICx2v5q6urkZSUhNTUVK/rVlZW4rnnnkN5eTk6\nd+7s2FZzczNsNhsA4PDhw7BYLOjfv7+aLBAREREREVGUUnWHODY2FsuXL8f48eNhs9kwZ84c5Obm\nYuXKlQCAefPmYeLEiaioqEBWVhYSExOxZs0ar+sCwEMPPYT29nbk5+cD+PHnlT788EM89dRTiIuL\nQ0xMDFauXImkpCQ1WSAiIiIiIqIopfp3iPXIYDBwyjSFvaqqKpjN5lAng0g11mWKFKzLFAlYjylS\naBXzMSAmIiIiIiKisKJVzKfqGWIiIiIiIiKicMWAmIiIiIiIiKISA2IiIiIiIiKKSgyIiYiIiIiI\nKCoxICYiIiIiIqKoxICYiIiIiIiIohIDYiIiIiIiIopKDIiJiIiIiIgoKjEgJiIiIiIioqjEgJiI\niFQrKipFUVFpqJNBREREpEhsqBNAREThz2ptC3USiIiIiBTjHWIiIiIiIiKKSgyIiYiIiIiIKCox\nICYiIiIiIqKopDogrqysRE5ODrKzs1FaKv1ClUWLFiE7OxuDBw/G3r17fa77X//1X8jNzcXgwYNx\n55134tSpU46/LVu2DNnZ2cjJycH27dvVJp+IiIiIiIiilKqA2GazYeHChaisrERtbS02bdqEAwcO\nuCxTUVGBQ4cOwWKxYNWqVZg/f77PdceNG4f9+/fjs88+w4ABA7Bs2TIAQG1tLcrKylBbW4vKykos\nWLAAFy9eVJMFIiIiIiIiilKqAuKamhpkZWXBZDIhLi4O06ZNQ3l5ucsyW7ZsQWFhIQBg1KhRaG1t\nhdVq9bpufn4+YmJiHOs0NDQAAMrLyzF9+nTExcXBZDIhKysLNTU1arJAREREREREUUpVQNzY2Ii+\nffs6PhuNRjQ2Nspapqmpyee6APDKK69g4sSJAICmpiYYjUaf6xARERERERH5oup3iA0Gg6zlhBB+\nbf+ZZ55BfHw8ZsyYoTgNxcXFjn+bzWaYzWa/0kBEREREREShVVVVhaqqKs23qyogzsjIQH19veNz\nfX29yx1cqWUaGhpgNBpx/vx5r+uuXbsWFRUVeO+997xuKyMjQzJtzgExERERERERhS/3m5xLly7V\nZLuqpkyPGDECFosFdXV1aG9vR1lZGQoKClyWKSgowPr16wEA1dXVSEpKQmpqqtd1Kysr8dxzz6G8\nvBydO3d22dbmzZvR3t6OI0eOwGKxYOTIkWqyQERERERERFFK1R3i2NhYLF++HOPHj4fNZsOcOXOQ\nm5uLlStXAgDmzZuHiRMnoqKiAllZWUhMTMSaNWu8rgsADz30ENrb25Gfnw8AuO6667BixQrk5eVh\n6tSpyMvLQ2xsLFasWCF72jYRERERERGRM4Pw9wFfHTMYDH4/t0xERMrNnl0MAFi7tjik6SAiIqLo\noFXMp2rKNBEREREREVG4YkBMREREREREUYkBMREREREREUUlBsREREREREQUlRgQExERERERUVRi\nQExERERERERRiQExERERERERRSUGxERERERERBSVGBATERERERFRVGJATERERERERFGJATERERER\nERFFJQbEREREREREFJUYEBMREREREVFUYkBMREREREREUYkBMREREREREUUl1QFxZWUlcnJykJ2d\njdLSUsllFi1ahOzsbAwePBh79+71ue4bb7yBgQMHolOnTtizZ4/j+7q6OiQkJGDo0KEYOnQoFixY\noDb5REREREREFKVi1axss9mwcOFC7NixAxkZGbj22mtRUFCA3NxcxzIVFRU4dOgQLBYLdu3ahfnz\n56O6utrruoMGDcJbb72FefPmddhnVlaWS1BNFO6Kii5dDCopeTTEKSEiIiIiii6qAuKamhpkZWXB\nZDIBAKZNm4by8nKXgHjLli0oLCwEAIwaNQqtra2wWq04cuSIx3VzcnLUJIsorFitbaFOAhERERFR\nVFI1ZbqxsRF9+/Z1fDYajWhsbJS1TFNTk891pRw5cgRDhw6F2WzGRx99pCb5REREREREFMVU3SE2\n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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10cf27850>"
       ]
      }
     ],
     "prompt_number": 84
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Let's compute, for each feature the proportion of the boostrapped AVI means that are negative:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "neg_rates = np.mean(bootstraped_avi <= 0, axis=0)\n",
      "\n",
      "plt.figure(figsize=(16, 3))\n",
      "plt.bar(range(len(neg_rates)), neg_rates, color=None, alpha=0.5)\n",
      "_ = plt.title('Negative AVI rate')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\noaoq3n//fezatSsWhB0/fhy5ubmYPHky+vr6cN999+Gzzz6LHbugoABtbW0Jh7/q9CG/8UN9AWDt\n2rX4xS9+gebmZmiahs8//xwvvPACotHosM+1a9culJWV4cMPP8TBgwdx8OBBfPjhhygqKorNeS0u\nLsaVV16JlStX4pvf/CamTJmS9XX8/PPPkZOTg8mTJ+OLL77A448/jnfffTf2//n5+ejo6MDp06cB\nACNGjMDatWtx11134ciRIwCAzs7OhA0DREREdmCQSkREwvr7v/97nDhxIhZojhkzBi+99BJ2796N\nwsJCnHvuufjhD38YW6Bo69at6O3tRUFBAWpra7Fy5UqcddZZAIDFixdj8eLFuPDCC1FcXIy8vDyc\nf/75sXPdcMMNAIBJkyahsrIy9vuhCy+NHj0aH3/8Maqrq2O/nz9/Ph5++GGsX78eEydORGlp6bAV\nenU7d+7EbbfdhilTpsRe+fn5+Ku/+qtBf1NbW4v29vaEQ33T9frGmzFjBu6++25cdtllKCgowLvv\nvosrr7wy9v/XXnstZs6ciYKCglgwXF9fj5KSElx66aUYN24cFi5ciA8//DDjcxIREZmRo6VaJQLA\nrbfeihdeeAFTpkxJupz+HXfcgRdffBFf+cpXsH379tjS/URERG7auHEj/u///g+PP/6420khIiKi\nDKXtSf3ud7+LhoaGpP+/b98+tLa2oqWlBb/85S+xbt06SxNIRESUqQ8++ABvv/02NE1Dc3MzHnvs\nsdjiRkRERCSHtAsnXXXVVWhra0v6/88991xs77ZLLrkEPT096O7uRn5+vmWJJCIiysTx48excuVK\ndHV1IT8/Hxs2bEBNTY3bySIiIiIDTK/u29nZOWy5/46ODgapRETkuMrKSrS0tLidDCIiIjLBki1o\nhk5rTbSgw/jxk9Db+6kVpyMiIiIiIiLBTJ8+Ha2traaPY3p138LCwkH70HV0dKCwsHDY+3p7P0Vt\n7SZomhZ71dZuwty5Xx/0Ozd/v2nTJmzatGnY7428Nm7cgo0bt5g6Bl+Zvcx+V269fve737meBhFf\nIlyXTZs2xe5hM/eyXeVAsuO6Xe4k++6S/d7O9KY7dqpyw+p0OXkuI6/a2k2YNetblpw/0/vW7Tzq\n1MvuzynLc29oOs2me2g+M3KdjZw70+OK+Hyw6ruKv+bxaU11r2fzmeKPl+jYsuR1voa/PvroI7Ph\n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\ngg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10cdb84d0>"
       ]
      }
     ],
     "prompt_number": 85
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Many of the original data features with a non-zero variance have a positive distribution of the bootsrapped mean AVI (0 negative rates). We can therefore be confident that those variables are relevant to the prediction task at end:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "np.sum(neg_rates[:n_features_orig][np.var(X_orig, axis=0) != 0] <= 0)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 86,
       "text": [
        "27"
       ]
      }
     ],
     "prompt_number": 86
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Most of the noisy variables have a boostrapped distribution of the mean AVI that includes 0 or negative values:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "np.mean(neg_rates[n_features_orig:] != 0)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 87,
       "text": [
        "0.98899999999999999"
       ]
      }
     ],
     "prompt_number": 87
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Thresholding all features with non-zero negative adjusted AVI rate would already provide a high recall noisy feature detector. However it might detect relevant variables as noisy with such a broad threshold.\n",
      "\n",
      "Maybe trimming features that have neg_rate > 0.5 and iterating might give a high recall, high precision feature selector."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "np.mean(neg_rates > 0.5)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 88,
       "text": [
        "0.56484962406015038"
       ]
      }
     ],
     "prompt_number": 88
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Fix point AVI feature selection"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def select_important(ensemble, X, y, threshold=0.5, n_iter=None, n_permutations=10, n_bootstraps=1000, seed=0):\n",
      "    selected_features = np.arange(X.shape[1])\n",
      "    \n",
      "    X_selected = X.copy()\n",
      "    while True:\n",
      "        _, _, bootstraped_avi = bootstrap_adjusted_importances(\n",
      "            ensemble, X_selected, y,\n",
      "            n_permutations=n_permutations,\n",
      "            n_bootstraps=n_bootstraps,\n",
      "            seed=seed)\n",
      "        neg_rates = np.mean(bootstraped_avi <= 0, axis=0)\n",
      "        selection_mask = neg_rates <= threshold\n",
      "        print(\"Keeping %d features out of %d.\" % (np.sum(selection_mask), X_selected.shape[1]))\n",
      "        if np.all(selection_mask):\n",
      "            # All features are selected\n",
      "            break\n",
      "        elif not np.any(selection_mask):\n",
      "            # All features where detected as noisy\n",
      "            return selected_features[selection_mask]\n",
      "        # Else: apply the selection mask and iterate untill reaching a fixpoint\n",
      "        X_selected = X_selected[:, selection_mask]\n",
      "        selected_features = selected_features[selection_mask]\n",
      "    return selected_features"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "selected = select_important(extra_trees, X_noise_2, y_orig, n_permutations=20, threshold=0.0)\n",
      "print(\"Number of selected features: %d\" % len(selected))\n",
      "print(\"Number of selected features among original features: %d\" % np.sum(selected < n_features_orig))\n",
      "print(\"Number of selected noisy features: %d\" % np.sum(selected >= n_features_orig))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Keeping 45 features out of 1064.\n",
        "Keeping 37 features out of 45."
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Keeping 37 features out of 37."
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Number of selected features: 37\n",
        "Number of selected features among original features: 32\n",
        "Number of selected noisy features: 5\n"
       ]
      }
     ],
     "prompt_number": 119
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Comparing with univariate feature selection"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Univariate feature selection has a an hyper parameter alpha to control the selectivity of the selector:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from sklearn.feature_selection import SelectFdr, f_classif\n",
      "\n",
      "alphas = np.logspace(-8, -2, 100)\n",
      "total_selected = []\n",
      "wrongly_selected = []\n",
      "\n",
      "for alpha in alphas:\n",
      "    univariate_selector = SelectFdr(f_classif, alpha=alpha).fit(X_noise_2, y_orig)\n",
      "    selected = univariate_selector.get_support()\n",
      "    total_selected.append(np.sum(selected))\n",
      "    wrongly_selected.append(np.sum(selected[n_features_orig:]))\n",
      "    \n",
      "total_selected = np.array(total_selected)\n",
      "wrongly_selected = np.array(wrongly_selected)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 169
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.semilogx(alphas, total_selected, label=\"# selected features\")\n",
      "plt.semilogx(alphas, wrongly_selected, label=\"# selected noisy features\")\n",
      "_ = plt.legend()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nbzRak2JRENszFnG94hATGIObr74ZBj8DQruHQuets8+78uWVeG7hc/D18W32oG/q+6nAnY0/xjDw\nXP8gbWTPnj1y66232u8vXrxY0tPT680TGRkpAHjjjTfeeGvBLTIystXb6DY7gFxXV4d+/fph586d\n6N27N+Lj4y87gExERJ7RZruJtFot3njjDdx6662wWCyYPXs2g4CIqJ1oVz86IyIiz/Dwt5uJiKg9\nYBgQEVH7D4P8/Hzcc889mD17Nv7yl794uhy3+/e//4158+Zhzpw5uP766z1djtuJCBYtWoQFCxZg\n3bp1ni7H7YxGI0aOHIl58+Zh165dni7H7SorKzFixAh8+umnni7F7X766SfMmzcPycnJWLVqlafL\ncbstW7bg/vvvx+TJk/HFF184nL/dn93k8OHDmDBhAv7whz9gsjPXxOtgbrjhBtxwww3YsmUL4uPj\nPV2O223evBkFBQXo2bMnDAaDp8txOy8vL/j6+kJRFFX2b8mSJZg0aZKny7giYmNjsXLlSlitVkye\nPBmzZ8/2dEluNW7cOIwbNw7l5eX485//jKSkpGbnb7ORwaxZs6DX6zFo0KB60zMyMhAbG4vo6OhG\nP/knJCTg7bffxujRo3Hbbbe1Vbkt5mr/Lli/fj2mTp16pct0mav9O3r0KK6//nq88sorWLlyZVuV\n22Ku9m/kyJHYvn070tPT8dxzz7VVuS3iat+++OILxMXFoVevXm1Vqkta89775JNP8D//8z/t+oNm\na7ctL774Ih588EHHK2r1LxWctHv3bjlw4IAMHDjQPq2urk4iIyPlxIkTYjabZciQIWIymWTdunWy\ncOFCKSgokKVLl8ru3btFROTee+9tq3JbzNX+iYjk5ubKnDlzPFW6U1zt3/vvvy8bN24UEZHk5GRP\nle9Qa/7/REQURWm3r09X+7Zo0SJZuHChjBkzRsaNGydWq9WDvWhaa//vRETGjh3b1mU7zdX+Wa1W\nefzxx+XLL790aj1tFgYiIidOnKjXoczMzHq/Sk5LS5O0tLR6yxw8eFAmTJggc+fOlccee6zNanWF\nK/0TEXnuuedkz549bVJja7jSv6qqKpk9e7Y89NBDsmLFijar1RWu9O/jjz+WBx54QCZNmiS7du1q\ns1pbytXXpojImjVr5NNPP73iNbaGK/0zGo2yYMECuf/++2Xp0qVtVqsrXOnf8uXL5ZprrpG5c+fK\nW2+95XAdHj1m4MzJ6wYPHoyPPvqorUtzC2dPzpeamtqGVbmPM/3r0qUL3nnnnbYuzS2c6d/dd9+N\nu+++u61La7WWnDgyJSWlrcpyG2f6N2rUKIwaNaqtS3MLZ/q3YMECLFiwwOk2PfptIrVfwo7969jU\n3D819w1g/1zh0TAICwtDXl6e/X5eXp6qvpHB/nVsau6fmvsGsH+u8GgYXHvttcjOzkZOTg7MZjM2\nbNiAsWPHerIkt2L/OjY190/NfQPYP5e47xBH8yZPniyhoaHi4+MjBoNB3n33XRER2b59u8TExEhk\nZKQsXry4rcpxO/aP/Wuv1Nw3EfbPXf3jieqIiKj9n46CiIiuPIYBERExDIiIiGFARERgGBARERgG\nREQEhgEREYFhQEREYBgQERGA/w/qALm+rAXoeQAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10badec50>"
       ]
      }
     ],
     "prompt_number": 170
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "small_alphas = alphas < 1e-4\n",
      "\n",
      "plt.semilogx(alphas[small_alphas], total_selected[small_alphas], label=\"# selected features\")\n",
      "plt.semilogx(alphas[small_alphas], wrongly_selected[small_alphas], label=\"# selected noisy features\")\n",
      "_ = plt.legend()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEFCAYAAAAYKqc0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtYlNW+B/AvCJYYyAAyoqgIZIo30CLFG9YWbe/U1ALd\nW8NQS5/0ZLWzY2ZO7bai2zLttDOzUCvdmkfN8pIec3AnGXk3zUwNUG6KQApy53f+mO3EyGVgmOs7\n38/z8AjvZa3fLGd+vKx3vWu5iIiAiIgUxdXWARARkfkxuRMRKRCTOxGRAjG5ExEpEJM7EZECMbkT\nESlQg8m9tLQUDz74IMLDwxEWFoZ58+YBAPLz8zF8+HB07doVMTExKCwstEqwRETUOC7GxrnfunUL\nHh4eqKysxKBBg7Bs2TLs2LEDfn5+mDt3LpYsWYKCggIkJiZaK2YiIjLCaLeMh4cHAKC8vBxVVVVQ\nqVTYsWMH4uPjAQDx8fHYvn27ZaMkIqImMZrcq6urER4eDrVajWHDhqFHjx7Izc2FWq0GAKjVauTm\n5lo8UCIiajw3Ywe4urrixIkT+O233zBixAgcOHDAYL+LiwtcXFwsFiARETWd0eR+W5s2bfCnP/0J\nR48ehVqtRk5ODtq1a4fs7Gz4+/vXOj40NBQXL140a7BEREoXEhKCCxcuNLucBrtl8vLy9CNhSkpK\nsG/fPkRERGD06NFYt24dAGDdunV47LHHap178eJFiIjFvxYuXGjx84wd29D+uvY1Zpuxn+2pLa3V\nnk3Z7iztae73ZmPbypnas6hIEBIi2LrVOp91c10UN3jlnp2djfj4eFRXV6O6uhqTJ0/Gww8/jIiI\nCMTGxuKjjz5CUFAQNm/ebJZgTBEdHW3x84wd29D+uvY1Zpupr6s5mlOnNdqzKdudpT3N/d6sa3tj\n38OWZqv2nDsXiIoCxo4FVKr6y7G3z7rRoZAmF+ziAgsV7ZQ0Gg00Go2tw1AMtqd5KbU99+0Dpk4F\nTp0CvL2tU6e5ciefUHUQtrhSUjK2p3kpsT1/+02X2NessV5iNydeuRMR1WHKFMDDA/jnP61br7ly\nJ5M7WY2Pjw8KCgpsHQaRXVCpVMjPz6+1ncmdHA7fE0S/q+/zwD53IiKqF5M7EZECMbkTESkQkzuR\nlWm1WnTs2NHWYWDKlClYsGBBvftfffVVtG3bFu3bt7diVGQuTO5Ed4iMjMSFCxdw6dIl9OvXz9bh\n1MvV1RWXLl0y+fyGJv3LyMjA22+/jXPnziErK8vkOgD7+WXmbJjciWqoqKhARkYGQkNDcfToUbtO\n7gCaPaqivvMzMjLg6+sLX1/fZpVvDpWVlbYOwSExuRPV8OOPPyIsLAwAcOTIEURERDR4/PPPPw+1\nWo02bdqgd+/eOHPmDACgrKwMf/3rX9G5c2e0a9cOM2fORGlpaZ1lZGVlYfz48fD390dwcDDeffdd\n/b7q6mosWrQIoaGh8PLywgMPPIArV65gyJAhAIA+ffrA09MTn3/+OQDgq6++Qnh4OFQqFQYOHIjT\np0/ryzp+/Dj69u0LLy8vTJgwod54/u///g8xMTHIysqCp6cnEhISAACHDx9GVFQUVCoVwsPDkZyc\nrD8nKSkJYWFh8PLyQkhICFavXg0AKC4uxiOPPKIvy8vLC9nZ2bW6hO68ug8KCsLSpUvRu3dveHp6\norq6usH6165di5CQEHh5eSE4OBgbNmxo8P/NKYiFWLBoclD2/J5ISkoSb29v8fDwkFatWom3t7e4\nubmJp6enqFQqSUtLq3XOnj17pF+/fvLbb7+JiMi5c+ckOztbRETmzJkjY8aMkYKCArl586aMGjVK\n5s2bJyIiBw4ckMDAQBERqaqqkr59+8rf/vY3qaiokEuXLklwcLB8/fXXIiKydOlS6dWrl5w/f15E\nRE6ePCnXr18XEREXFxe5ePGiPp5jx46Jv7+/pKamSnV1taxbt06CgoKkvLxcysrKpFOnTvLOO+9I\nZWWlbNmyRdzd3WXBggV1todWq9XHKCJy5coV8fX1ld27d4uIyL59+8TX11fy8vJERGTnzp1y6dIl\nERFJTk4WDw8POXbsWJ1liYhMmTLFoO6abSIi0rlzZ4mIiJArV65IaWlpg/UXFRWJl5eXvo1ycnLk\nzJkzdb4ue1Lf58FcnxMmd7IaY+8JwDxfzTF48GA5ceKEpKenS3h4eIPHfvPNN9K1a1c5fPiwVFVV\n6bdXV1dL69atDRJvSkqKdOnSRUQME9nhw4elU6dOBuUuWrRInnrqKRER6dq1q+zYsaPO+u9M7jNm\nzKiVrO+77z5JTk6W5ORkad++vcG+qKioepP7nck2MTFRJk+ebHDMiBEjZN26dXWe/9hjj8mKFSvq\nLEtEl9xfffXVeusLCgqSpKSkRtVfXFws3t7e8r//+79y69atOuOxR5ZO7uyWIbthrvTeVPn5+fD2\n9oa3tzdSUlIQHR2Nbt264eeff4ZKpcKKFSvqPG/YsGGYNWsWnn32WajVajzzzDO4efMmrl27hlu3\nbqFfv35QqVRQqVR45JFHkJeXV6uM9PR0ZGVl6Y9TqVRYvHgxrl69CgC4cuUKQkJCGvU60tPT8dZb\nbxmUdeXKFWRnZyMrKwsdOnQwOL5z586N7rNPT0/H559/blD2oUOHkJOTAwDYvXs3+vfvD19fX6hU\nKuzatQvXr19vVNn1qdlN01D9Hh4e2LRpE1atWoX27dvj0Ucfxc8//9ysupWAyZ2cno+PDwoLC/HB\nBx9g+vTpKCgowMiRI/HVV1+hoKAAzz33XL3nzp49G0eOHMHZs2dx/vx5/OMf/0Dbtm3RqlUrnD17\nFgUFBSgoKEBhYSFu3LhR6/yOHTuiS5cu+uMKCgpw48YNfPXVV/r9jV2Vp1OnTpg/f75BWUVFRYiL\ni0NAQAAyMzMNjk9PT2/0EpmdOnXC5MmTDcq+efMm5s6di7KyMowfPx5z587F1atXUVBQgD/+8Y/6\nXxx11dG6dWvcunVL//PtXxI11TyvofoBICYmBnv37kVOTg66deuG6dOnN+p1KRmTO9F/HDlyBH37\n9gWgu/lobKTMkSNH8P3336OiogIeHh64++670aJFC7i4uGD69OmYM2cOrl27BgDIzMzE3r17a5UR\nGRkJT09PLF26FCUlJaiqqsKPP/6II0eOAACmTZuGBQsW4MKFCxARnDp1Sj/ZlFqtNli1Z/r06Vi1\nahVSU1MhIiguLsbOnTtRVFSEqKgouLm5YeXKlaioqMDWrVvxww8/NLptJk2ahC+//BJ79+5FVVUV\nSktLodVqkZmZifLycpSXl8PPzw+urq7YvXu3wWtVq9W4fv26wS+38PBw7Nq1CwUFBcjJycE777xj\ncv1Xr17FF198geLiYri7u6N169Zo0aJFo1+bYpmlc6cOFiyaHJS9vyceeughOXLkiOTl5UloaKjR\n4/fv3y+9e/eWe+65R/z8/GTSpElSXFwsIiKlpaXyyiuvSHBwsHh5eUn37t3l3XffFRFd/3LHjh31\n5WRlZcnEiROlXbt2olKpZMCAAbJ//34R0d1wffPNN6VLly7i6ekpkZGRkpmZKSIiq1atkoCAAPH2\n9pbPP/9cRHQ3eR944AHx9vaWgIAAiY2NlZs3b4qIyJEjRyQiIkI8PT0lLi5OJkyY0GCfe80YRUS+\n//57GTp0qPj4+Ejbtm3l0UcflcuXL4uIyHvvvSdqtVq8vb1l8uTJMnHiRIOyExISxNfXV1QqlWRn\nZ0tpaanExcWJl5eX9OnTR5YvX25QX1BQkL4NjNWfnZ0tQ4cOlTZt2oi3t7cMGzZMfvrpJ6P/f7ZW\n3+fBXJ8TzgpJVsP3BNHvOCskERE1GZM7EZECMbkTESkQkzsRkQIxuRMRKRCTOxGRAjG5ExEpEJM7\nEZECMbkTWZm9rExkbJk9Uy1evNjsc7vk5uZiyJAh8PLywksvvWTWspXKzdYBENmbyMhIbNiwAa6u\nrnjiiSdw9OhRW4dUJ1dXV1y4cAHBwcEmnd/QMnvNMW/ePLOXuXr1avj7+9c5+VpTTZkyBR07dsTf\n/vY3M0Rmvxq8cr98+TKGDRuGHj16oGfPnli5ciUAQKPRIDAwEBEREYiIiMCePXusEiyRpXGZPfuU\nnp6O7t272zoMAI6z7F+Dyd3d3R3Lly/HmTNncPjwYbz33nv46aef4OLighdeeAHHjx/H8ePHMXLk\nSGvFS2RRXGZPZ+3atRg0aBBeeukl+Pj4IDg42OAiLisrC6NHj4avry/uvfderFmzRr9Po9Fg8uTJ\nAIDS0lJMmjQJfn5+UKlUiIyMxNWrV/H555/j/vvvN6jz7bffxmOPPVYrlilTpmD9+vVYunQpPD09\n8c0330BEkJiYiNDQUPj5+SEuLg4FBQX6c5544gkEBATA29sbQ4cOxdmzZwHo/gLYsGGDvqwxY8YA\nqL3YeM0uK61Wi8DAQCxduhQBAQGYOnVqg/XX95qtrimzjI0ZM0b27dsnGo1Gli1b1uCxTSyanIA9\nvye4zF7t9nB3d5c1a9ZIdXW1vP/++wYrOQ0ePFieffZZKSsrkxMnTkjbtm3lm2++ERERjUajXzVp\n1apVMmrUKCkpKZHq6mo5duyY3LhxQ8rKysTHx8dg9sbw8HDZunVrnfHcuSzfO++8IwMGDJDMzEwp\nLy+XZ555RiZOnGgQf1FRkZSXl8ucOXMMVtW6s6y62rLmMQcOHBA3Nzf57//+bykvL5eSkpIG66/v\nNd+pvs+DuT4njS7l119/lU6dOsnNmzdFo9FI586dpXfv3pKQkCAFBQUWC5CUw9h7AhqY5as5uMye\nTlJSksG0x8XFxeLi4iK5ubmSkZEhLVq0kKKiIv3+efPmyZQpU0REZOHChTJp0iQREfn4448lKipK\nTp06VauOGTNmyPz580VE5McffxSVSiXl5eV1xnPnsnzdu3c3mBI4KytL3N3dDf4fbisoKBAXFxd9\ngr2zLJG6k/vtYw4cOCAtW7aUsrIyo/VXVlY2+JprsnRyb9QN1aKiIjz++ONYsWIF7rnnHsycOROv\nvfYaAGDBggV48cUX8dFHH1nkLwtyHrLQNv2/+fn5+puSRUVFiI6ORllZGQBApVJBo9HUuRpTzWX2\n0tPTMW7cOCxbtgwlJSX6ZfZuExFUV1fXKqPmMnu3VVVV6btdmrrM3vr16w26dSoqKpCdnQ0RafIy\ne+3atdN/7+HhAUDXPteuXYOPjw9at26t39+pUyf9AiM1TZ48GZcvX8aECRNQWFiISZMm4e9//zvc\n3NwQHx+PP//5z3jzzTfxySefIC4uDu7u7o16rWlpaRg7dixcXX/vWXZzc0Nubi78/f0xf/58bNmy\nBdeuXdMfk5eXB09Pz0aVf6e2bduiZcuWRuu/evVqg6/ZmozWVlFRgfHjx2PSpEn6/jB/f3/9/mnT\npmHUqFF1nqvRaPTfR0dHIzo6unnRElnA7WX2Nm3aBK1Wi/fffx/jxo3DrFmz8NBDDzV47uzZszF7\n9mxcu3YNsbGx+Mc//oHXX39dv8xeQEBAg+ffXmbv/Pnz9e6/cOGC/j5AQ24vs/fKK6/U2pecnFzn\nMnuhoaFGy71T+/btkZ+fj6KiItxzzz0AgIyMDAQGBtY61s3NDa+99hpee+01pKen449//CPuu+8+\nJCQkoH///mjZsiUOHjyIjRs3YuPGjY2OoVOnTkhKSsKAAQNq7fvkk0+wY8cO7N+/H507d0ZhYSF8\nfHwaXPbPw8PDYNm/7Oxsg+Gqd57TUP0A6n3NddFqtdBqtUZfc1M1eENVRDB16lSEhYVhzpw5+u3Z\n2dn677dt24ZevXrVeb5Go9F/MbGTveMye43TsWNHREVFYd68eSgrK8OpU6fw8ccfY9KkSbWO1Wq1\nOH36NKqqquDp6Ql3d3eDJfAmT56MWbNmoWXLloiKiqq3zjv/wpgxYwZeeeUVZGRkAACuXbuGHTt2\nAND9dXHXXXfBx8cHxcXFtX7ZqdVqg5ungG7Zv88++wxVVVXYs2cPDh482GAbNFS/sdd8p+joaINc\naS4NJvdDhw7h008/xYEDB/TDHnfv3o2XX34ZvXv3Rp8+fZCcnIzly5ebLSAiWzl27Bj69u2L69ev\n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\nc2/1lTajkUQAAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10ba70550>"
       ]
      }
     ],
     "prompt_number": 171
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "alphas[wrongly_selected == 0][-1]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 159,
       "text": [
        "9.9999999999999995e-08"
       ]
      }
     ],
     "prompt_number": 159
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "total_selected[wrongly_selected == 0][-1]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 161,
       "text": [
        "24"
       ]
      }
     ],
     "prompt_number": 161
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Introspection of the mean AVI distribution for some relevant variables"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plt.hist(bootstraped_avi[:, 10], bins=30)\n",
      "plt.title(\"Distribution of the bootstrapped mean AVI for a relevant variable\")\n",
      "_ = plt.xlim(bootstraped_avi.min(), bootstraped_avi.max())"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAA5oAAADSCAYAAAArFr8XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0FFX+//9XQ4ILprNA0gkJIbJk2BSiyOKodIREcQTj\nhoBi4zp49PcFx8PqQlxGgoq4zAiOKAT4qDAfFfNBREVolxk1jguKggyYEJYkAlkgBAhJ7u8Php6E\nLN2ddGfj+Tinz0l33br1vtW3q/udulXXYowxAgAAAADAR9o1dwAAAAAAgLaFRBMAAAAA4FMkmgAA\nAAAAnyLRBAAAAAD4FIkmAAAAAMCnSDQBAAAAAD5FogmgSdxzzz164oknfFJXTk6OgoKCdHJ2Jrvd\nrldffdUndUvSVVddpeXLl/usPk899NBDCg8PV5cuXTwqn5qaqokTJ/pk25MmTdLDDz/sk7pOF06n\nU127dm3uMFqU/Px8XXbZZbJarZo2bVpzh+NWXFycPv744+YOo0l5cyyu79ianZ2tdu3aqbKy0pfh\nAWhDSDQBNFpcXJzOPvtsWa1WhYaG6ve//71efvllVZ2md+HChXrooYc8qmvDhg31lomNjdWhQ4dk\nsVgkSRaLxfW3t2pL1tauXeuzBM5TOTk5evbZZ7V161bt3bu3xvLakpqGtrk2jdmH9fEmGV66dKku\nvfRSn8eA2tntdoWFhamsrEyS9OWXX+qcc87R4cOHa5RNSEjQSy+95Da5+Nvf/qaIiAgdPHhQTz/9\ntF/j9wV/9XtveHLM8yVPj8VSy9g/AFovEk0AjWaxWLRmzRodPHhQOTk5mjlzpubNm6c77rijQXVV\nTVBPVV5e3phQW6ycnBx16tRJnTp18nid+vZTQ/i6Pn/g7IlvZGdnKzMzUxEREcrIyJAkDR06VDEx\nMfrf//3famU3b96sLVu2aPz48W7r3blzp/r06dOgmHz92W4txwp3xzxf4vMDoCmRaALwqaCgII0e\nPVorV65Uenq6fv75Z0nVh2bu379fV199tUJDQ9WpUydddtllMsZo4sSJysnJ0ejRoxUUFKRnnnnG\ndQbltddeU7du3TRy5Ejt3LmzxlmV7du3a8iQIQoODlZKSooKCwsl1X4m8ORwuXXr1mnu3LlauXKl\ngoKClJCQIKn6cDFjjJ544gnFxcXJZrPJ4XDo4MGDkv47dGzZsmXq1q2bwsPD9eSTT9a5b4qLi3Xr\nrbcqIiJCcXFx+vOf/yxjjNavX6/k5GTt3btXQUFBuv3226utd/jwYY0aNcq13Gq1Kjc3VxaLRWVl\nZXI4HLJarerfv7+++eYb13p79+7V9ddfr4iICHXv3l0vvvhive/d/v37lZycLKvVKrvdrpycHNey\nf/7zn7rooosUEhKiwYMH64svvqi2nTFjxqhTp07q1auXFi9eLEl17t+lS5eqR48eslqt6t69u15/\n/XVt3bpVkydP1hdffKGgoCCFhYW5+s0999yjq666Suecc46cTqfee+89JSQkKDg4WLGxsXr00Udd\nsZx8T1555RVFR0erS5cumj9/vmt5amqqbrjhBo0bN05Wq1UXXnihfvjhB4/22ZEjRzRp0iSFhYWp\nX79++vrrr+vdn+3atdPChQvVq1cvWa1WPfLII9qxY4eGDRumkJAQjRs3TsePH3eVX7NmjQYOHOga\nFfDjjz+6lqWlpalnz56yWq3q16+fVq9e7Vq2dOlSXXLJJZo2bZrCwsLUvXt3rVu3rt7Yli1bppEj\nR2rixIlKT093ve5wOLRs2bIaZf/whz8oNDS03jonTZqkZcuW6amnnlJQUJA2bNigsrIyTZ06VdHR\n0YqOjtb999/vOoPqdDoVExOjp556SlFRUbX+Y2rHjh26/PLL1blzZ4WHh+uWW25RcXFxnTG0a9dO\nL730knr16qXf/e53kurfr1UZY1z7uXPnzrrppptcx5FRo0bpr3/9a7XyAwYMcL0PU6ZMUWxsrIKD\ngzVo0CB9/vnnrnKpqakaO3ZsrZ/T2o55p+rTp4/ee+891/Py8nKFh4fr+++/lyTdeOONioqKUkhI\niIYPH+465p58T6p+fjZu3FjtWFxYWKirr75aERERCgsL0+jRo7Vnz55q26/r2Hqq4uJi3XHHHerS\npYtiYmL08MMPk9gCpzsDAI0UFxdnPv744xqvx8bGmkWLFhljjJk0aZJ5+OGHjTHGzJw500yePNmU\nl5eb8vJy8/nnn9dZV1ZWlrFYLMbhcJjS0lJz9OhR12sVFRXGGGOGDx9uoqOjzU8//WQOHz5srr/+\nenPLLbcYY4zZuHGjiYmJqTPe1NRUM3HixGrL7Xa7efXVV40xxrz66qumZ8+eJisry5SUlJjrrrvO\nVf5kHHfffbc5evSo2bRpkznjjDPMli1bat1PEydONCkpKaakpMRkZ2eb+Ph413acTmeNOKuqbfmc\n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\ncuVKbd26VVdffbViYmJ08cUXa9asWTp27Jh++OEHvfbaa652nbp/f/vtN7377rs6fPiwAgMD1bFj\nR9fZMpvNpt27d1e7QU5tbSwpKVFoaKg6dOigzMxMvf766zV+rD/xxBM6cuSIfvrpJy1durRaYvHN\nN9/onXfeUXl5uZ577jmdeeaZGjp0qC666KJ699nYsWM1d+5cFRUVaffu3W5vrlTXfq7698nnd911\nlxYtWqTMzEwZY3T48GG99957Kikp0eHDh2WxWNS5c2dVVlZqyZIl2rx5s9fblqTVq1crICBAW7Zs\n0aZNm7Rp0yZt2bJFl156qesmQB07dtQNN9yg2267TXFxcbrgggsa1D7pxOfniSee0P79+7V//349\n9thjXk0dVFJSoo4dO8pqtWrPnj1eT5lS33491eTJkzV79mxXYrVv3z7XHXmlE/Pr7ty5U3PmzNG4\nceNcrx86dEgBAQHq3LmzysrK9Nhjj1X7nLrjyTFv3Lhx+uCDD7Ro0aJqZ1JLSkp0xhlnKCwsTIcP\nH9bs2bOrrVfb56dqvyspKdFZZ52l4OBgFRQUVLux1smydR1bq4qKilJycrL+9Kc/6dChQ6qsrNSO\nHTv06aeferwfALQ9JJoAfGL06NGyWq2KjY3V3Llz9cADD2jJkiWu5VXnY9u+fbuSkpIUFBSkiy++\nWPfee6+GDx8uSZo1a5aeeOIJhYaG6tlnn3Wte6qqr1ksFt16662aNGmSoqKiVFZWphdeeEGSFBwc\nrJdeekl33nmnYmJidM4551QbCnbjjTdKkjp16qRBgwbV2M7tt9+uiRMn6rLLLlP37t119tlnV0sw\nvDnT+OKLL6pjx47q3r27Lr30Ut1888267bbb3K4nSb1799b48ePVvXt3hYWFue46e+o6J5+3b99e\na9as0ffff6/u3bsrPDxcd999d50/gC0Wi26++WY9+uij6tSpk7777jutWLHCtW/WrFmj+fPnq3Pn\nznrmmWe0Zs0a17DoN954Q9nZ2erSpYuuu+46PfbYY7r88ssl1dy/lZWVWrBggaKjo9WpUyd99tln\nWrhwoSRpxIgR6tevnyIjIxUREeGK69Q2vvTSS3rkkUdktVr1+OOP13p2avjw4erZs6dGjhypadOm\naeTIka76rrnmGq1cuVJhYWH6n//5H7399ttq37692302Z84cdevWTeeee66uvPJK3XrrrfW+Z570\n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\nHv8FbDAAAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10e3a5550>"
       ]
      }
     ],
     "prompt_number": 93
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plt.hist(bootstraped_avi[:, 28], bins=30)\n",
      "plt.title(\"Distribution of the bootstrapped mean AVI for a relevant variable\")\n",
      "_ = plt.xlim(bootstraped_avi.min(), bootstraped_avi.max())"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nfe655xQdHa2goCAFBweroKDA4/hT0++0Pnr16qX+/fsrNTVVJSUl+vvf/66bb75ZklReXq6HHnpI\nvXv3VmBgoM4//3xJcq/bZrPVeuwsKSnRb3/7W0VFRSkwMFCjRo1SQUGBx5jR+hxb9+zZoxMnTigs\nLMy9/2bOnKmDBw/WaxsBnJlINAH4xNdff60DBw7osssuqzKtY8eOeu6557R7926lpqbq+eef14YN\nGyTVfCfVuu58WHk8YWZmpvz9/dW5c2d16NBBJSUl7mnl5eUeFz91Lbdbt27KyMjwWLafn5/HhWN9\ndO7cWf7+/lWWVTnpqU11cdYWe/fu3XX++ecrLy/P/Tpy5IhWr15dY5m9e/e6/y4qKlJubq57nOOe\nPXs85t2zZ497Wm5urkdSU3m7qosxISFBH3/8sbKzs9WvXz/dcccddW5PZTfffLMSExO1b98+5efn\na+bMmVUu2k+vD+Hh4dVuZ0VFhfbt26fw8PA691lYWFiV5TZG5e2NjIzU73//e491FxUV6aabbtKe\nPXt055136s9//rNyc3OVl5engQMHenUDmaNHj2rFihVav369wsLCFBYWpgULFmjLli3usarXX3+9\n9u3bpw0bNuj999+X0+n0ehur+/1UfnxPXd/5ww8/rLZt22rr1q0qKCjQO++8U2eCVt/9errIyEit\nXbvWY96SkhKFhYVJkiZPnqxly5Zp48aNOnbsmOLi4iRJn3/+uZ599ln95S9/UX5+vvLy8hQYGFjv\n76c+9f7UuletWqXo6Gj17NlTkvTuu+8qNTVVn3zyiQoKCpSeni6p7ht7nVrnggULtHPnTqWlpamg\noECffvqpzMnebu55azq2Vta9e3edc845Onz4sHvfFRQU1DgeFsDZgUQTgCVOXZicujCfPHmypkyZ\nogEDBnhMl07enGPXrl0yxshut6tt27Zq0+bk4cjhcGj37t0NXvfSpUu1fft2lZSU6LHHHtOECRNk\ns9nUt29fHTt2TGvWrNGJEyf01FNP6fjx4+6yoaGhysjIqPHCbPLkyXrhhReUkZGhoqIiPfzww5o0\naZI73tr2RWVt27bVxIkT9fvf/15FRUXas2ePXnjhBd1666312kaHw6HDhw+7b0RU03pOGTp0qAIC\nAvTMM8/o6NGjKi8v19atW/XNN9/UGPOaNWv0z3/+U6WlpXr00Uc1fPhwhYeH6+qrr9bOnTu1bNky\nlZWVafny5dqxY4euvfZaRUREaMSIEZozZ46OHz+u77//Xm+//bZ7u07fv7/88otWrVql4uJi+fv7\nq0OHDu7WMofDoX379nncIKe6bSwqKlJwcLDatWuntLQ0vfvuu1Uu1p966ikdPXpU27Zt0+LFiz0S\ni2+//Vbvv/++ysrK9OKLL+rcc8/VsGHDdMkll9S6zyZOnKh58+YpPz9f+/btq/PmSjXt58p/n3p/\nxx136NVXX1VaWpqMMSouLtYHH3ygoqIiFRcXy2azqXPnzqqoqNCiRYu0devWBq9bklauXCk/Pz9t\n375dW7Zs0ZYtW7R9+3aNHDnSfROgDh066MYbb9Rtt92mqKgoXXTRRV5tn3Ty9/PUU0/p0KFDOnTo\nkJ544okGPTqoqKhIHTp0kN1u1/79+xv8yJTa9uvpZs6cqYcfftidWB08eNB9R17p5PN19+zZo7lz\n52rSpEnuzwsLC+Xn56fOnTurtLRUTzzxhMfvtC71OeZNmjRJH330kV599VWPltSioiKdc845CgkJ\nUXFxsR5++GGPctX9firXu6KiIrVv316BgYHKzc31uLHWqXlrOrZWFhYWpoSEBP3ud79TYWGhKioq\ntHv3bn322Wf13g8AzjwkmgAsMXbsWNntdkVGRmrevHl64IEHtGjRIvf0ys9j27Vrl+Lj4xUQEKAR\nI0bo7rvv1qhRoyRJc+bM0VNPPaXg4GA9//zz7rKnq/yZzWbT1KlTNW3aNIWFham0tFQvvfSSJCkw\nMFCvvPKKbr/9dkVERKhjx44eXcEmTJggSerUqZOGDBlSZT3Tp0/XlClTdPnll6tnz54677zzPBKM\nhrQ0vvzyy+rQoYN69uypkSNH6pZbbtFtt91WZzlJ6tevnyZPnqyePXsqJCTEfdfZ08ucet+2bVut\nXr1amzdvVs+ePdWlSxfdeeedNV4A22w23XLLLXr88cfVqVMnfffdd1q6dKl736xevVoLFixQ586d\n9dxzz2n16tXubtHLli1TRkaGunXrpvHjx+uJJ57QFVdcIanq/q2oqNALL7yg8PBwderUSZ9//rkW\nLlwoSRo9erQGDBig0NBQde3a1R3X6dv4yiuv6LHHHpPdbteTTz5ZbevUqFGj1Lt3b40ZM0azZs3S\nmDFj3Mu77rrrtHz5coWEhOh///d/9be//U1t27atc5/NnTtXPXr00Pnnn6+rrrpKU6dOrfU7q0+9\n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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10be97350>"
       ]
      }
     ],
     "prompt_number": 94
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "One can expect the mean AVI to be strictly positive for relevant variable."
     ]
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Introspection of the mean AVI distribution for some noisy variables"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plt.hist(bootstraped_avi[:, 145], bins=30)\n",
      "plt.title(\"Distribution of the bootstrapped mean AVI for a noisy variable\")\n",
      "_ = plt.xlim(bootstraped_avi.min(), bootstraped_avi.max())"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nFy+uEkAnTpxoEhMT3Za53IMPPmgefvhhY8wvbeOHH35wLn/00UfNlClTnOUZOHCgc1lZWZlp27at\n+eyzz857zir/MP/Tn/5U43tmWZYzOBtjTN++fc28efOczx955BFnaLjnnntcgpsxxvzHf/yH2bRp\nk9t99+rVyxkKFy9ebDp37uxcduLECWNZljNUVvbZZ5+Zyy67zBw/ftwYY0zPnj3NSy+95Fw+fPhw\n5+f2k08+MaGhoaakpMQYU7sAWh50jDkXdD/++GPn87/+9a8mOjraGHOuTTdr1sycOXPG7b7c+fDD\nD03v3r2rXW5ZlvnHP/7hfD527Fgzd+5cY0ztPsvlAbS6Nlq5jfTt29f85S9/cVuW9evXm06dOjmf\nX3fddWbZsmVu1/3mm29McHCw87nD4TAzZ850Wafi91Jllc9LdHS0eeONN5zP161b5yxLxe+Sun5P\nAEBFDMEFcMHJzs52DqWUfrnGcOrUqercubPi4+PVqVMnzZ0797z7Ot+sjRWXR0VF6ezZszp8+LCH\nJf9FTk6OOnTo4LLvkpIS5eXlOV8LDw93Pr7iiivcTuJy+PBhnT17tsq+Kg6784Tdbnc59unTp1VW\nVqZ9+/bp4MGDCg4Odv5LSkrSzz//7HY/lmUpMjLS+bx58+YKCQnRwYMHlZOTo6ioKJf1O3To4FwW\nEhKi5s2b16pezZs318qVK/X666+rXbt2uvnmm/XDDz/UWMfK7/2XX36poUOHKiwsTK1atdIbb7xR\nZQhk5fZQcWKnivUsr/fBgweVlZVV4zk7ePBglf2eT8X35/LLL3d5ftlllznbyr59+zR//nyXY2dn\nZysnJ0fSuWGwvXv3di7btm2bS50rt0FJKioqclumlJQUxcfHKygoSJI0ZsyYKsNwy2dbXbZsmRIS\nEtS0adPz1tWdgwcPVmnzFd+L0NBQNWvWrNrt8/LyNG7cOEVGRqply5aaMGFClfe6ssrnovw81Oaz\nLNXcRvv376/LL79caWlp2rVrl/bu3atRo0a5LYfD4dDJkyeVnp6uzMxMbd26Vb/97W8lSSdPntR/\n//d/Kzo6Wi1bttSQIUN07Ngxl2s9a/rOq815qekzUK6u3xMAUBEBFMAF5auvvtLBgwd1ww03VFnW\nokULvfDCC9q7d6/WrFmjF198URs3bpRU/cyu55vRseL1illZWQoMDFSbNm3UvHlznTx50rmstLRU\nhw4dqvV+27Vrp8zMTJd9BwQEuASJ2mjTpo0CAwOr7KtiGKqJu3LWVPb27dvryiuv1NGjR53/jh8/\nrrVr11a7zf79+52Pi4qKlJ+f77yOct++fS7r7tu3z7ksPz/fJexUrJe7MsbHx+uTTz5Rbm6uunbt\nqrvuuuu89alo/PjxGj16tLKzs1VQUKB77rmnyuREldtDRESE23qWlZUpOztbERER5z1nbdu2rbLf\n+qhY36ioKD3++OMuxy4qKtLvfvc77du3T3fffbf++Mc/Kj8/X0ePHlWPHj08mpjm1KlTeu+997Rh\nwwa1bdtWbdu21fz587V161bntbC//e1vlZ2drY0bN+rDDz9UYmKix3V09/mpeJuh873njz32mJo2\nbapt27bp2LFjWrZsmccTUdXls1xdG5XOBfTly5dr2bJlGjNmTLUBumnTpho7dqxWrFihFStWaOTI\nkc4/1MyfP1+7d+9Wenq6jh07pk2bNlWZbKimc1Ob81K5rbq7vZMn3xMAUI4ACqBBlf9wKv/xkpCQ\noAkTJqh79+4uy6Vzk63s2bNHxhjZbDY1bdpUTZqc+xqz2+3au3dvnY+9fPly7dy5UydPntRTTz2l\nMWPGyLIsxcTE6PTp01q3bp3Onj2rOXPmuEzGER4erszMzGp/zCckJOill15SZmamioqK9Nhjj2nc\nuHHO8tZ0Lioq/zH6+OOPq6ioSPv27dNLL72k22+/vVZ1tNvtOnLkiHPSlOqOU65fv34KCgrSvHnz\ndOrUKZWWlmrbtm3617/+VW2Z161bp3/84x8qLi7Wk08+qYEDByoiIkIjRozQ7t27tWLFCpWUlGjl\nypXatWuXbr75ZkVGRuq6667TjBkzdObMGX333XdatGiRs16Vz+/PP/+s1atX68SJEwoMDFTz5s2d\nvWt2u13Z2dkuE/O4q2NRUZGCg4PVrFkzpaen65133qnyY33OnDk6deqUtm/friVLluh3v/udc9nX\nX3+tDz/8UCUlJXr55Zd12WWXacCAAbr22mtrPGdjx45VUlKSCgoKlJ2d7dFkLRXrUzFw3HXXXXr9\n9deVnp4uY4xOnDihjz76SEVFRTpx4oQsy1KbNm1UVlamxYsXu0yEUxerVq1SQECAdu7cqa1bt2rr\n1q3auXOnBg0a5Jx8qHnz5rrttts0adIkRUdHq0+fPh7VTzr3+ZkzZ44OHz6sw4cP6+mnn67TLY6K\niorUvHlz2Ww2HThwoM63dql4jmv7Wa6pjUrS7bffrg8++EB//vOfdccdd9R4/PHjx+vdd9/VO++8\no/Hjx7vU6/LLL1fLli2Vn5/vMpFWxbJX53znxRijP/7xjzpw4IDy8/P17LPPaty4cVX2U9fvCQCo\niAAKoEGNHDlSNptNUVFRSkpK0iOPPKLFixc7l1e8L92ePXsUFxenoKAgXXfddbr//vs1ZMgQSdKM\nGTM0Z84cBQcH68UXX3RuW1nF1yzL0h133KGJEyeqbdu2Ki4u1iuvvCJJatmypRYsWKA777xTkZGR\natGihcvQtDFjxkiSWrdurWuuuabKcSZPnqwJEyZo8ODB6tixo6644gqX4FGXnslXX31VzZs3V8eO\nHTVo0CD9/ve/16RJk867nSR17dpVCQkJ6tixo0JCQpyz4Fbepvx506ZNtXbtWn377bfq2LGjQkND\ndffdd7sE2Mrb/f73v9fs2bPVunVrffPNN1q+fLnz3Kxdu1bz589XmzZt9MILL2jt2rXO4dUrVqxQ\nZmam2rVrp1tuuUVPP/20brzxRklVz29ZWZleeuklRUREqHXr1vrss8+0cOFCSdKwYcPUvXt3hYeH\nKywszFmuynVcsGCBnnrqKdlsNj3zzDMu4bLckCFD1LlzZw0fPlxTp07V8OHDnfv7zW9+o5UrVyok\nJER//vOf9cEHH6hp06bnPWczZ85Uhw4ddOWVV+o///M/dccdd9T4ntWm3ZY/79u3r95880098MAD\nCgkJUZcuXZyBMDY2Vo888ogGDhyo8PBwbdu2zWVkQU3toLKlS5dq8uTJioyMVFhYmMLCwmS32/XA\nAw/onXfecfaiJSYmKisry23AOl+dKy5/4okndM011+jqq6/W1VdfrWuuucblfsDn6wGdOXOmtmzZ\nopYtW2rkyJG69dZb63TOK5antp/lmtqodK7XsE+fPmrSpInbER4V9evXTy1atFBOTo5GjBjhfP2h\nhx7SqVOn1KZNG1133XUaMWJErd/D2pyX8s9z+WUOXbp0cXve6/o9AQAVWaaGP5VNnjxZH330kcLC\nwpzTuk+dOlVr165Vs2bN1KlTJy1evFgtW7aUJCUlJWnRokVq2rSpXnnlFcXHx/unFgAA1ENmZqY6\nduyokpISt73Us2fP1p49e5zXOAKemDJliiIiIvT00083dFEAoMHU2AM6adKkKvcEi4+P1/bt27V1\n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\noNdee02//vWvVVpaqilTpjABEQAAAABAkpevAQUAAAAAoDpeHYKLS1dqaqq6du2qLl26aO7cuW7X\n+Z//+R916dJFPXv21DfffHPebfPz8xUXF6eYmBjFx8eroKDA5/WAd/miXUydOlXdunVTz549dcst\nt+jYsWM+rwe8zxdto9z8+fPVpEkT5edzy6TGxlft4tVXX1W3bt3Uo0cPTZs2zad1gG/4om2kp6er\nX79+6t27t6699lp99dVXPq8HvKs+7WLy5Mmy2+266qqrXNbn96cfGKCeSkpKTKdOnUxGRoYpLi42\nPXv2NDt27HBZ56OPPjIjRowwxhizefNm079///NuO3XqVDN37lxjjDHJyclm2rRpfqwV6stX7eKT\nTz4xpaWlxhhjpk2bRrtohHzVNowxJisry/z617820dHR5siRI/6rFOrNV+1iw4YNZvjw4aa4uNgY\nY8zPP//sx1rBG3zVNoYMGWJSU1ONMcasW7fOOBwOP9YK9VWfdmGMMX//+9/Nli1bTI8ePVy24fen\n79EDinpLT09X586dFR0drcDAQI0bN06rV692WWfNmjVKTEyUJPXv318FBQXKzc2tcduK2yQmJmrV\nqlX+rRjqxVftIi4uTk2aNHFuk52d7d+Kod581TYk6f/9v/+nefPm+bU+8A5ftYuFCxdqxowZCgwM\nlCSFhob6t2KoN1+1jbZt2zpH0RQUFCgiIsK/FUO91KddSNKgQYMUHBxcZb/8/vQ9Aijq7cCBA2rf\nvr3zeWRkpA4cOFCrdQ4ePFjttnl5ebLb7ZIku92uvLw8X1YDXuardlHRokWLdNNNN/mg9PAlX7WN\n1atXKzIyUldffbWPawBf8FW7+PHHH/X3v/9dAwYMkMPh0L/+9S8f1wTe5qu2kZycrEceeURRUVGa\nOnWqkpKSfFwTeFN92kVN+P3pewRQ1JtlWbVaz9RivitjjNv9WZZV6+PgwuDNduHOs88+q2bNmmn8\n+PEebY+G44u2cerUKT333HOaPXu2R9uj4fnqO6OkpERHjx7V5s2b9fzzz2vs2LGeFA8NyFdtY8qU\nKXrllVeUlZWll156SZMnT/akeGggnraLuvye5Penb3j1Niy4NEVERGj//v3O5/v371dkZGSN62Rn\nZysyMlJnz56t8nr5EBi73a7c3FyFh4crJydHYWFhPq4JvMmb7aLytkuWLNG6dev06aef+rAG8BVf\ntI29e/cqMzNTPXv2dK7ft29fpaen893RSPjqOyMyMlK33HKLJOnaa69VkyZNdOTIEbVu3dqX1YEX\n+aptpKena/369ZKk2267TXfeeacvqwEv87RdnG+oNb8//aDhLj/FxeLs2bOmY8eOJiMjw5w5c+a8\nF4F/8cUXzovAa9p26tSpJjk52RhjTFJSEheBNzK+ahcff/yxiY2NNYcOHfJvheA1vmobFTEJUePj\nq3bx+uuvm6eeesoYY8wPP/xg2rdv78dawRt81TZ69+5t0tLSjDHGrF+/3lxzzTV+rBXqqz7tolxG\nRobbSYj4/elbBFB4xbp160xMTIzp1KmTee6554wx5/7Tf/31153r3H///aZTp07m6quvNl9//XWN\n2xpjzJEjR8ywYcNMly5dTFxcnDl69Kj/KgSv8EW76Ny5s4mKijK9evUyvXr1Mvfee6//KgSv8UXb\nqOjKK68kgDZCvmgXxcXF5vbbbzc9evQwffr0MRs3bvRbfeA9vmgbX331lenXr5/p2bOnGTBggNmy\nZYv/KgSvqE+7GDdunGnbtq1p1qyZiYyMNIsWLTLG8PvTHyxjuEgGAAAAAOB7TEIEAAAAAPALAigA\nAAAAwC8IoAAAAAAAvyCAAgAAAAD8ggAKAAAAAPALAigAAAAAwC8IoAAAAAAAv/j/CWR8CaGpmkgA\nAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10e3c34d0>"
       ]
      }
     ],
     "prompt_number": 95
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We can observe that it's not possible to reject the hypothesis that the mean AVI of this noisy variable is zero or less."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plt.hist(bootstraped_avi[:, 99], bins=30)\n",
      "plt.title(\"Distribution of the bootstrapped mean AVI for a noisy variable\")\n",
      "_ = plt.xlim(bootstraped_avi.min(), bootstraped_avi.max())"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAA6AAAADSCAYAAABUx63mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0lFWexvGnQsKokCIEkgokhMg2bMqmLCpQCEkPjtC0\nCg20GAS1tfWMOh4U3EBFCChqqy3aLhCgRehRgYNI2wixtVuMLYqyiWBCCAkRCFvYQsJv/sCU2clS\n9Ybl+znHY1W9271v3Srqyb3ve11mZgIAAAAAIMCC6roAAAAAAIALAwEUAAAAAOAIAigAAAAAwBEE\nUAAAAACAIwigAAAAAABHEEABAAAAAI4ggAI4q911112aOnWqX/aVkZGh0NBQFc0+5fV69eabb/pl\n35J03XXXaf78+X7bX1U9+uijioiIUPPmzau0/pQpUzRmzBi/HHvs2LF67LHH/LKvC0VKSopatGhR\n18U4q+Tk5Khfv35yu92aMGFCXRenykp/p5yNqvO9FBcXp48//rjcZbRbAP5CAAVQZ+Li4nTJJZfI\n7XarcePGuvrqq/Xaa6+V+DE3e/ZsPfroo1Xa1+rVqytdJzY2VocPH5bL5ZIkuVwu3+PqKi/ErVix\nwm/BrqoyMjL03HPPacuWLcrKyiqzvLwfjTWtc3lqcw4rU52QPHfuXPXt29fvZUD5vF6vwsPDlZ+f\nL0lau3atGjZsqCNHjpRZt1u3bnrllVeUnp6uoKAgnTp1qtx9/vnPf1ZkZKQOHTqkZ555JqDl96fS\n3ylno+p8LwXq8wwAxRFAAdQZl8ul5cuX69ChQ8rIyNDEiRM1Y8YMjR8/vkb7qqwXoqCgoDZFPWtl\nZGSoSZMmatKkSZW38Xdvzdnc+1OkouCD6klPT1dqaqoiIyO1bNkySVLv3r0VExOj//u//yux7oYN\nG7R582aNGjXqjPvdsWOHOnToUKMyna+f7doys3PiswngwkMABXBWCA0N1ZAhQ7Ro0SIlJydr06ZN\nkkoO8dy7d6+uv/56NW7cWE2aNFG/fv1kZhozZowyMjI0ZMgQhYaG6tlnn/X1uLz11ltq2bKlBg0a\npB07dpTphdm2bZt69eqlRo0aadiwYdq/f7+k8nsOi4anrVy5UtOnT9eiRYsUGhqqbt26SSo5pNfM\nNHXqVMXFxcnj8SgxMVGHDh2SJF/Z5s2bp5YtWyoiIkLTpk2r8NwcPHhQt9xyiyIjIxUXF6enn35a\nZqZVq1YpISFBWVlZCg0N1bhx40psd+TIEQ0ePNi33O12Kzs7Wy6XS/n5+UpMTJTb7Vbnzp311Vdf\n+bbLysrSjTfeqMjISLVq1UovvfRSpe/d3r17lZCQILfbLa/Xq4yMDN+yf/3rX7ryyisVFhamnj17\n6vPPPy9xnKFDh6pJkyZq27at3njjDUmq8PzOnTtXrVu3ltvtVqtWrfT2229ry5YtuvPOO/X5558r\nNDRU4eHhvnZz11136brrrlPDhg2VkpKiDz74QN26dVOjRo0UGxurJ554wleWovfk9ddfV3R0tJo3\nb65Zs2b5lk+ZMkU33XSTRo4cKbfbrR49eujbb7+t0jk7duyYxo4dq/DwcHXq1ElffvllpeczKChI\ns2fPVtu2beV2u/X4449r+/bt6tOnj8LCwjRy5EidPHnSt/7y5cvVtWtX3yiC7777zrcsKSlJbdq0\nkdvtVqdOnbRkyRLfsrlz5+qaa67RhAkTFB4erlatWmnlypWVlm3evHkaNGiQxowZo+TkZN/riYmJ\nmjdvXpl1//u//1uNGzeudJ9jx47VvHnzNHPmTIWGhmr16tXKz8/Xfffdp+joaEVHR+v+++/39bim\npKQoJiZGM2fOVLNmzcr9g9X27dt17bXXqmnTpoqIiNDNN9+sgwcPVliGoKAgvfbaa2rXrp0aN26s\ne+65x7esKp/lou+U0m104cKFys/PV3h4uDZs2ODb508//aQGDRpo3759Jcpx4sQJhYWFaePGjb7X\n9uzZo0suuUR79+7V/v37df311ysyMlLh4eEaMmSIdu3a5VvX6/Xq0Ucf1dVXX62GDRvqxx9/LPG9\nVJXzkpqaqk6dOik8PFzjxo3TiRMnyj1n1f2eAAAfA4A6EhcXZx9//HGZ12NjY+3VV181M7OxY8fa\nY489ZmZmEydOtDvvvNMKCgqsoKDAPvvsswr3lZaWZi6XyxITE+3o0aN2/Phx32uFhYVmZta/f3+L\njo62jRs32pEjR+zGG2+0m2++2czM1qxZYzExMRWWd8qUKTZmzJgSy71er7355ptmZvbmm29amzZt\nLC0tzfLy8uyGG27wrV9UjjvuuMOOHz9u69evt//4j/+wzZs3l3uexowZY8OGDbO8vDxLT0+3du3a\n+Y6TkpJSppzFlbd88uTJdtFFF9mHH35op06dskmTJlnv3r3NzKywsNC6d+9uTz31lJ08edJ+/PFH\na9Wqlf3tb38rd/+JiYkWGhpqn376qZ04ccLuvfdeu+aaa8zMbN++fRYWFmYLFiywwsJCW7hwoTVu\n3Nhyc3PNzKxv3752991324kTJ+ybb76xiIgIW716dbnnNy8vz9xut23dutXMzHbv3m0bN240M7O5\nc+f6jlm8XI0aNbJ//etfZmZ2/PhxS0lJsQ0bNpiZ2bfffmsej8eWLFlS4j0ZPXq0HT161L777juL\niIiwVatW+c5ZSEiIvfvuu1ZQUGDPPvusXXrppVZQUHDGc/bQQw9Zv379bP/+/bZz507r1KmTtWjR\nosL3zOVy2bBhw+zw4cO2ceNGq1+/vg0YMMDS0tLs4MGD1rFjR0tOTjYzs3Xr1llkZKSlpqbaqVOn\nLDk52eLi4iw/P9/MzP76179adna2mZktWrTIGjRoYLt37zYzszlz5lhISIi98cYbdurUKZs9e7Y1\nb968wnKZmbVu3doWLFhgW7dutZCQEMvJyTEzs4yMDAsODradO3ea2el2FBMTY0uXLi1xfos+e6UV\n/5ybmT322GPWp08f27Nnj+3Zs8euuuoq3/I1a9ZYcHCwTZw40fLz8+3YsWNl9rdt2zZbtWqV5efn\n2549e6xfv3523333VXrOhwwZYgcPHrSMjAyLiIiwlStXmlnVPsuFhYWVttE//OEP9tBDD/mO98IL\nL9jQoUPLLcu4cePskUce8T1/+eWXbfDgwWZ2+jP13nvv2bFjx+zw4cM2fPhwGzZsmG/d/v37W8uW\nLW3Tpk1WWFhoJ0+eLPG9dKbz0rJlS7vsssssMzPTcnNz7eqrr7ZHH33Ud96Lvkuq+z0BAMURQAHU\nmYoCaO/evW3atGlmVvKH6eOPP26//vWvbdu2bWfcV9EPw7S0tDKvFf0I9nq9NmnSJN/yTZs2Wf36\n9e3UqVNnDKCTJ0/2hdUixX/oXXvttTZ79mzfsu+//95CQkKssLDQV45du3b5lvfs2dPeeeedMvUq\nKCiw+vXrlwinr732mnm9XjMrPygXV97yyZMnW3x8vO/5xo0b7eKLLzYzs7Vr11psbGyJ9adNm2a3\n3npruftPTEy0UaNG+Z7n5eVZvXr1bOfOnTZv3jzr1atXifX79Oljc+fOtYyMDKtXr57l5eX5lk2a\nNMnGjh3rK2Px85uXl2dhYWH27rvv2tGjR0vsc86cOWUC6NixYy0xMbHcMhe599577f777zezX9rG\n999/71v+4IMP2vjx433l6dOnj2/ZqVOnrFmzZvbpp5+e8ZyV/mH+5z//udL3zOVy+YKzmVmPHj1s\n5syZvucPPPCALzTceeedJYKbmdl//ud/2ieffFLuvrt27eoLhXPmzLE2bdr4lh05csRcLpcvVJb2\n6aef2kUXXWSHDh0yM7MuXbrY888/71s+aNAg3+f2o48+soiICCsoKDCzqgXQoqBjdjrofvjhh77n\nf/vb3ywuLs7MTrfp+vXr24kTJ8rdV3nef/9969atW4XLXS6X/fOf//Q9HzFihM2YMcPMqvZZLgqg\nFbXR0m2kR48e9te//rXcsqxatcpat27te37VVVfZ/Pnzy13366+/tsaNG/uee71emzx5col1in8v\nlVb6vMTFxdlrr73me75ixQpfWYp/l1T3ewIAimMILoCzTmZmpm8opfTLNYYTJkxQmzZtlJCQoNat\nW2vGjBln3NeZ7tpYfHlsbKxOnjypvXv31rDkv8jOzlbLli1L7LugoEA5OTm+16KionyPL7nkknJv\n4rJ3716dPHmyzL6KD7urCY/HU+LYx48f16lTp7Rjxw5lZWWpcePGvv+mT5+un376qdz9uFwuxcTE\n+J43aNBA4eHhysrKUnZ2tmJjY0us37JlS9+y8PBwNWjQoEr1atCggRYtWqRXX31VzZs31/XXX6/v\nv/++0jqWfu+/+OILDRgwQJGRkQoLC9Nrr71WZghk6fZQ/MZOxetZVO+srCxlZGRUes6ysrLK7PdM\nir8/F198cYnnF110ka+t7NixQ7NmzSpx7MzMTGVnZ0s6PQy2W7duvmUbNmwoUefSbVCS8vLyyi1T\ncnKyEhISFBoaKkkaPnx4mWG4RXdbnT9/vkaNGqV69eqdsa7lycrKKtPmi78XERERql+/foXb5+Tk\naOTIkYqJiVGjRo00ZsyYMu91aaXPRdF5qMpnWaq8jfbq1UsXX3yxUlJStGXLFm3fvl1Dhw4ttxxe\nr1dHjx5Vamqq0tPTtX79ev3mN7+RJB09elS///3vFRcXp0aNGql///46ePBgiWs9K/vOq8p5qewz\nUKS63xMAUBwBFMBZ5csvv1RWVpauueaaMssaNmyoZ599Vtu3b9eyZcv03HPPac2aNZIqvrPrme7o\nWPx6xYyMDIWEhKhp06Zq0KCBjh496ltWWFioPXv2VHm/zZs3V3p6eol9BwcHlwgSVdG0aVOFhISU\n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\nknr16qUDBw5o9+7dlW5bfJvExEQtWbLE2YqhVgLVLuLj4xUUFOTbJjMz09mKodYC1TYk6X//9381\nc+ZMR+sD/whUu5g9e7YmTZqkkJAQSVJERISzFUOtBaptNGvWzDeK5sCBA4qOjna2YqiV2rQLSerb\nt68aN25cZr/8/gw8AihqbdeuXWrRooXveUxMjHbt2lWldbKysircNicnRx6PR5Lk8XiUk5MTyGrA\nzwLVLop76623dN111wWg9AikQLWNpUuXKiYmRpdffnmAa4BACFS7+OGHH/SPf/xDvXv3ltfr1b//\n/e8A1wT+Fqi2kZSUpAceeECxsbGaMGGCpk+fHuCawJ9q0y4qw+/PwCOAotZcLleV1rMq3O/KzMrd\nn8vlqvJxcHbwZ7soz9NPP6369etr9OjRNdoedScQbePYsWOaNm2annjiiRptj7oXqO+MgoIC7d+/\nX2vXrtUzzzyjESNG1KR4qEOBahvjx4/Xiy++qIyMDD3//PMaN25cTYqHOlLTdlGd35P8/gwMv07D\nggtTdHS0du7c6Xu+c+dOxcTEVLpOZmamYmJidPLkyTKvFw2B8Xg82r17t6KiopSdna3IyMgA1wT+\n5M92UXrbuXPnasWKFfr4448DWAMESiDaxvbt25Wenq4uXbr41u/Ro4dSU1P57jhHBOo7IyYmRjfc\ncIMk6corr1RQUJD27dunJk2aBLI68KNAtY3U1FStWrVKknTTTTfptttuC2Q14Gc1bRdnGmrN708H\n1N3lpzhfnDx50lq1amVpaWl24sSJM14E/vnnn/suAq9s2wkTJlhSUpKZmU2fPp2LwM8xgWoXH374\noXXs2NH27NnjbIXgN4FqG8VxE6JzT6DaxauvvmqPP/64mZl9//331qJFCwdrBX8IVNvo1q2bpaSk\nmJnZqlWr7IorrnCwVqit2rSLImlpaeXehIjfn4FFAIVfrFixwtq1a2etW7e2adOmmdnpf/RfffVV\n3zp33323tW7d2i6//HL76quvKt3WzGzfvn02cOBAa9u2rcXHx9v+/fudqxD8IhDtok2bNhYbG2td\nu3a1rl272l133eVcheA3gWgbxV166aUE0HNQINpFfn6+3Xzzzda5c2fr3r27rVmzxrH6wH8C0Ta+\n/PJL69mzp3Xp0sV69+5t69atc65C8IvatIuRI0das2bNrH79+hYTE2NvvfWWmfH70wkuMy6SAQAA\nAAAEHjchAgAAAAA4ggAKAAAAAHAEARQAAAAA4AgCKAAAAADAEQRQAAAAAIAjCKAAAAAAAEcQQAEA\nAAAAjvh/Um/3JKiT/sEAAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10cf2e650>"
       ]
      }
     ],
     "prompt_number": 96
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plt.figure(figsize=(16, 3))\n",
      "plt.hist(bootstraped_avi[:, 400], bins=30)\n",
      "plt.title(\"Distribution of the bootstrapped mean AVI for a noisy variable\")\n",
      "_ = plt.xlim(bootstraped_avi.min(), bootstraped_avi.max())"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAA6AAAADSCAYAAABUx63mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0FGW+//FPQ8KokIYEkg4khMiSCwFlk00FGiGZi1cY\nRoUhjBgW9bqdq14PCm6AIgko6qgDOioQYAScqwIHMeMgxNEZMY4oyiaCCUnIIhACCVtI8vz+4Jea\ndDaSTncnwPt1Tp+T6qqu+j7VTzf9oZ6qshljjAAAAAAA8LJmjV0AAAAAAODyQAAFAAAAAPgEARQA\nAAAA4BMEUAAAAACATxBAAQAAAAA+QQAFAAAAAPgEARRAk3bfffdp3rx5HllXRkaGAgICVH73KafT\nqXfeeccj65akm2++WStXrvTY+urqqaeeUnBwsDp06FCn5efMmaPJkyd7ZNtTpkzR008/7ZF1XS5S\nUlLUsWPHxi6jScnLy9OwYcNkt9s1Y8aMxi6nzip/pzRF9fleioyM1KefflrtPPotAE8hgAJoNJGR\nkbrqqqtkt9sVGBioG264QW+++abLj7klS5boqaeeqtO6tmzZUusyERERKiwslM1mkyTZbDbr7/qq\nLsRt2rTJY8GurjIyMvTSSy9p7969ys7OrjK/uh+N7ra5Og3Zh7WpT0hevny5hg4d6vEaUD2n06mg\noCAVFxdLkrZt26ZWrVrp5MmTVZbt27evFi9erPT0dDVr1kxlZWXVrvNPf/qTQkJCdOLECb3wwgte\nrd+TKn+nNEX1+V7y1ucZACoigAJoNDabTRs3btSJEyeUkZGhmTNnasGCBZo+fbpb66rtKERJSUlD\nSm2yMjIy1LZtW7Vt27bOr/H00ZqmfPSnXE3BB/WTnp6u1NRUhYSEaMOGDZKkwYMHKzw8XP/3f//n\nsuzOnTu1Z88excXFXXC9Bw8eVI8ePdyq6VL9bDeUMeai+GwCuPwQQAE0CQEBARozZozWrl2rpKQk\n7d69W5LrEM8jR47olltuUWBgoNq2bathw4bJGKPJkycrIyNDY8aMUUBAgF588UXriMvSpUvVqVMn\njRo1SgcPHqxyFGb//v0aNGiQWrdurXHjxunYsWOSqj9yWD48LTk5WQkJCVq7dq0CAgLUt29fSa5D\neo0xmjdvniIjI+VwOBQfH68TJ05IklXbihUr1KlTJwUHB2v+/Pk17pvjx4/rzjvvVEhIiCIjI/X8\n88/LGKPNmzcrNjZW2dnZCggI0LRp01xed/LkSY0ePdqab7fblZOTI5vNpuLiYsXHx8tut6tXr176\n5ptvrNdlZ2frtttuU0hIiDp37qzXXnut1vfuyJEjio2Nld1ul9PpVEZGhjXvn//8pwYMGKA2bdpo\n4MCB+vLLL122M3bsWLVt21bdunXT22+/LUk17t/ly5erS5custvt6ty5s959913t3btX9957r778\n8ksFBAQoKCjI6jf33Xefbr75ZrVq1UopKSn66KOP1LdvX7Vu3VoRERGaO3euVUv5e/LWW28pLCxM\nHTp00KJFi6z5c+bM0e23366JEyfKbrerf//++v777+u0z06fPq0pU6YoKChIPXv21Ndff13r/mzW\nrJmWLFmibt26yW6365lnntGBAwc0ZMgQtWnTRhMnTtS5c+es5Tdu3Kg+ffpYowh++OEHa15iYqK6\ndu0qu92unj17at26dda85cuX68Ybb9SMGTMUFBSkzp07Kzk5udbaVqxYoVGjRmny5MlKSkqyno+P\nj9eKFSuqLPtf//VfCgwMrHWdU6ZM0YoVK7Rw4UIFBARoy5YtKi4u1sMPP6ywsDCFhYXpkUcesY64\npqSkKDw8XAsXLlT79u2r/Q+rAwcO6KabblK7du0UHBysO+64Q8ePH6+xhmbNmunNN99UVFSUAgMD\n9eCDD1rz6vJZLv9OqdxHV69ereLiYgUFBWnnzp3WOn/55Re1bNlSR48edanj7NmzatOmjXbt2mU9\nd/jwYV111VU6cuSIjh07pltuuUUhISEKCgrSmDFjdOjQIWtZp9Opp556SjfccINatWqln3/+2eV7\nqS77JTU1VT179lRQUJCmTZums2fPVrvP6vs9AQAWAwCNJDIy0nz66adVno+IiDBvvPGGMcaYKVOm\nmKefftoYY8zMmTPNvffea0pKSkxJSYn54osvalxXWlqasdlsJj4+3pw6dcqcOXPGeq60tNQYY8zw\n4cNNWFiY2bVrlzl58qS57bbbzB133GGMMWbr1q0mPDy8xnrnzJljJk+e7DLf6XSad955xxhjzDvv\nvGO6du1q0tLSTFFRkbn11lut5cvruOeee8yZM2fMjh07zK9+9SuzZ8+eavfT5MmTzbhx40xRUZFJ\nT083UVFR1nZSUlKq1FlRdfNnz55trrjiCvPxxx+bsrIyM2vWLDN48GBjjDGlpaWmX79+5rnnnjPn\nzp0zP//8s+ncubP561//Wu364+PjTUBAgPn888/N2bNnzUMPPWRuvPFGY4wxR48eNW3atDGrVq0y\npaWlZvXq1SYwMNDk5+cbY4wZOnSoeeCBB8zZs2fNd999Z4KDg82WLVuq3b9FRUXGbrebffv2GWOM\nyc3NNbt27TLGGLN8+XJrmxXrat26tfnnP/9pjDHmzJkzJiUlxezcudMYY8z3339vHA6HWbdunct7\nMmnSJHPq1Cnzww8/mODgYLN582Zrn/n7+5v333/flJSUmBdffNFcffXVpqSk5IL77PHHHzfDhg0z\nx44dM5mZmaZnz56mY8eONb5nNpvNjBs3zhQWFppdu3aZFi1amBEjRpi0tDRz/PhxEx0dbZKSkowx\nxmzfvt2EhISY1NRUU1ZWZpKSkkxkZKQpLi42xhjzl7/8xeTk5BhjjFm7dq1p2bKlyc3NNcYYs2zZ\nMuPv72/efvttU1ZWZpYsWWI6dOhQY13GGNOlSxezatUqs2/fPuPv72/y8vKMMcZkZGQYPz8/k5mZ\naYw534/Cw8PN+vXrXfZv+Wevsoqfc2OMefrpp82QIUPM4cOHzeHDh831119vzd+6davx8/MzM2fO\nNMXFxeb06dNV1rd//36zefNmU1xcbA4fPmyGDRtmHn744Vr3+ZgxY8zx48dNRkaGCQ4ONsnJycaY\nun2WS0tLa+2j999/v3n88cet7b3yyitm7Nix1dYybdo08+STT1rTr7/+uhk9erQx5vxn6oMPPjCn\nT582hYWFZvz48WbcuHHWssOHDzedOnUyu3fvNqWlpebcuXMu30sX2i+dOnUy11xzjcnKyjL5+fnm\nhhtuME899ZS138u/S+r7PQEAFRFAATSamgLo4MGDzfz5840xrj9Mn3nmGfOb3/zG7N+//4LrKv9h\nmJaWVuW58h/BTqfTzJo1y5q/e/du06JFC1NWVnbBADp79mwrrJar+EPvpptuMkuWLLHm/fjjj8bf\n39+UlpZadRw6dMiaP3DgQLNmzZoq7SopKTEtWrRwCadvvvmmcTqdxpjqg3JF1c2fPXu2iYmJsaZ3\n7dplrrzySmOMMdu2bTMREREuy8+fP99MnTq12vXHx8ebuLg4a7qoqMg0b97cZGZmmhUrVphBgwa5\nLD9kyBCzfPlyk5GRYZo3b26KioqsebNmzTJTpkyxaqy4f4uKikybNm3M+++/b06dOuWyzmXLllUJ\noFOmTDHx8fHV1lzuoYceMo888ogx5t9948cff7TmP/bYY2b69OlWPUOGDLHmlZWVmfbt25vPP//8\ngvus8g/zP/3pT7W+ZzabzQrOxhjTv39/s3DhQmv60UcftULDvffe6xLcjDHmP/7jP8xnn31W7br7\n9OljhcJly5aZrl27WvNOnjxpbDabFSor+/zzz80VV1xhTpw4YYwxpnfv3ubll1+25o8aNcr63H7y\nyScmODjYlJSUGGPqFkDLg44x54Puxx9/bE3/9a9/NZGRkcaY8326RYsW5uzZs9Wuqzoffvih6du3\nb43zbTab+cc//mFNT5gwwSxYsMAYU7fPcnkAramPVu4j/fv3N3/5y1+qrWXz5s2mS5cu1vT1119v\nVq5cWe2y3377rQkMDLSmnU6nmT17tssyFb+XKqu8XyIjI82bb75pTW/atMmqpeJ3SX2/JwCgIobg\nAmhysrKyrKGU0r/PMZwxY4a6du2q2NhYdenSRQsWLLjgui501caK8yMiInTu3DkdOXLEzcr/LScn\nR506dXJZd0lJifLy8qznQkNDrb+vuuqqai/icuTIEZ07d67KuioOu3OHw+Fw2faZM2dUVlamgwcP\nKjs7W4GBgdYjISFBv/zyS7XrsdlsCg8Pt6ZbtmypoKAgZWdnKycnRxERES7Ld+rUyZoXFBSkli1b\n1qldLVu21Nq1a/XGG2+oQ4cOuuWWW/Tjjz/W2sbK7/1XX32lESNGKCQkRG3atNGbb75ZZQhk5f5Q\n8cJOFdtZ3u7s7GxlZGTUus+ys7OrrPdCKr4/V155pcv0FVdcYfWVgwcPatGiRS7bzsrKUk5OjqTz\nw2D79u1rzdu5c6dLmyv3QUkqKiqqtqakpCTFxsYqICBAkjR+/Pgqw3DLr7a6cuVKxcXFqXnz5hds\na3Wys7Or9PmK70VwcLBatGhR4+vz8vI0ceJEhYeHq3Xr1po8eXKV97qyyvuifD/U5bMs1d5HBw0a\npCuvvFIpKSnau3evDhw4oLFjx1Zbh9Pp1KlTp5Samqr09HTt2LFDv/3tbyVJp06d0n//938rMjJS\nrVu31vDhw3X8+HGXcz1r+86ry36p7TNQrr7fEwBQEQEUQJPy9ddfKzs7WzfeeGOVea1atdKLL76o\nAwcOaMOGDXrppZe0detWSTVf2fVCV3SseL5iRkaG/P391a5dO7Vs2VKnTp2y5pWWlurw4cN1Xm+H\nDh2Unp7usm4/Pz+XIFEX7dq1k7+/f5V1VQxDtamuztpq79ixo66++modO3bMepw4cUIbN26s8TWZ\nmZnW30VFRcrPz7fOozx48KDLsgcPHrTm5efnu4Sdiu2qrsbY2Fh98sknys3NVffu3XX33XdfsD0V\nTZo0SePGjVNWVpYKCgp07733Vrk4UeX+EBYWVm07y8rKlJWVpbCwsAvus/bt21dZb0NUbG9ERISe\nfPJJl20XFRXpd7/7nQ4ePKh77rlHf/zjH5Wfn69jx46pV69ebl2Y5vTp03rvvfe0ZcsWtW/fXu3b\nt9eiRYu0Y8cO61zY3/72t8rKytLWrVv14YcfKj4+3u02Vvf5qXiboQu950888YSaN2+unTt36vjx\n41q5cqXbF6Kqz2e5pj4qnQ/oq1at0sqVKzV+/PgaA3Tz5s01YcIErV69WqtXr9aYMWOs/6hZtGiR\n9u3bp9TUVB0/flyfffZZlYsN1bZv6rJfKvfV6m7v5M73BACUI4ACaFTlP5zKf7zExcVp8uTJ6tmz\np8t86fzFVvbv3y9jjOx2u5o3b65mzc5/jTkcDh04cKDe2161apX27NmjU6dO6ZlnntH48eNls9kU\nFRWlM2fOaNOmTTp37pzmzZvncjGO0NBQpaen1/hjPi4uTi+//LLS09NVVFSkJ554QhMnTrTqrW1f\nVFT+Y/TJJ59UUVGRDh48qJdffll33HFHndrocDh09OhR66IpNW2n3MCBAxUQEKCFCxfq9OnTKi0t\n1c6dO/Wvf/2rxpo3bdqkf/zjHyouLtbTTz+tIUOGKCwsTKNHj9a+ffu0evVqlZSUaO3atdq7d69u\nueUWhYeH6/rrr9esWbN09uxZff/991q6dKnVrsr795dfftH69et18uRJ+fv7q2XLltbRNYfDoays\nLJcL81TXxqKiIgUGBqpFixZKTU3Vu+++W+XH+rx583T69Gnt2rVLy5cv1+9+9ztr3jfffKMPP/xQ\nJSUleuWVV3TFFVdo8ODBGjBgQK37bMKECUpISFBBQYGysrLculhLxfZUDBx333233njjDaWmpsoY\no5MnT+qjjz5SUVGRTp48KZvNpnbt2qmsrEzLli1zuRBOfaxbt05+fn7as2ePduzYoR07dmjPnj0a\nOnSodfGhli1b6vbbb9fUqVMVGRmpfv36udU+6fznZ968eTpy5IiOHDmiZ599tl63OCoqKlLLli1l\n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\nAAAAAPCJ/we9SHNkSnbvXgAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10e3cf410>"
       ]
      }
     ],
     "prompt_number": 97
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}